2017-02-12 52 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]); 
相關問題