2017-02-12 27 views
0
int main(void) { 
    char x[50]; 

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

如果我在这个节目类型Hello World它将输出ello World但我只是想信e返回。我怎样才能做到这一点?如何从C中的字符串中只返回一个字符?

+8

使用'的printf( “%C” 中,x [1]);'。任何编程语言都需要知道数据类型。 – haccks

+2

我推荐阅读关于指针,取消引用和空字符结尾的字符串。 – redxef

+0

['printf'手册页在这里](https://msdn.microsoft.com/en-us/library/wc7014hz.aspx)涉及棘手,也链接到其他手册页。一小时或三小时的探索,直到你的头部爆炸,可以比晚上好。 –

回答

3

您有打印单个字符与printf两个选项:

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

第一个选项是这样的:

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

第二种选择看起来像这样:

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

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

+0

注意:还有一系列不涉及printf的选项,例如'的putchar(X [1]);' –

0

你可以很容易地做到这一点:

printf("%c",x[1]); 
相关问题