c - 如何从 C 中的字符串中只取回一个字符?

标签 c string char

int main(void) {
  char x[50];

  fgets( x, 50, stdin );
  printf( "%s", &(x[1]) );
} //  main

如果我在此程序中键入 Hello World,它将输出 ello World,但我只想返回字母 e。我该怎么做?

最佳答案

使用 printf 打印单个字符有两种选择:

  • 使用%c 格式说明符,并传递要打印的字符(不是指向字符的指针),或者
  • 使用 %s,限制为一个字符,即 %.1s

第一个选项如下所示:

printf( "%c", x[1]);

第二个选项是这样的:

printf( "%.1s", &x[1]);

请注意 1 前面的点,它指定了长度的上限限制。如果没有点 .,数字将设置下限

关于c - 如何从 C 中的字符串中只取回一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42192560/

相关文章:

c - 任意双向UNIX套接字通信

java - C 或 Java (Android) 中的任何函数都可能搞乱 srand()?

string - 如何在 Play Framework 中将 String 转换为 JsValue

php - 编程中如何调用 "special characters"的字符串自定义处理?

Java - 当变量等于字符串时,If 语句未捕获

c - 预处理器包含,何时使用 <> 或 ""

c - 我不知道我的角色需要什么条件

java - 如何拆分字符串并包含拆分器?

c++ - 未显示 Char 变量值

c - 以十六进制逐字节打印打开文件