int main(void) {
char x[50];
fgets(x, 50, stdin);
printf("%s", &(x[1]));
} // main
このプログラムにHello World
と入力すると、ello World
が出力されますが、e
という文字が返されます。どうやってやるの?Cの文字列から1文字だけを戻す方法は?
int main(void) {
char x[50];
fgets(x, 50, stdin);
printf("%s", &(x[1]));
} // main
このプログラムにHello World
と入力すると、ello World
が出力されますが、e
という文字が返されます。どうやってやるの?Cの文字列から1文字だけを戻す方法は?
あなたはprintf
で単一の文字を印刷するための2つのオプションがあります。
%c
書式指定子を、そして印刷したい文字(ない文字へのポインタ)を渡す、または%.1s
1文字の制限と%s
、
printf("%c", x[1]);
第2のオプションは、次のようになります
printf("%.1s", &x[1]);
注意長さに上部制限を指定1
の前にドット。 .
のドットがない場合、番号はの下限をに設定します。
注:printfに関係しないオプションもあります。 'putchar(x [1]);' –
あなたはで簡単にそれを行うことができます。
printf("%c",x[1]);
使用 'のprintf( "%cの"、Xを[1]);'。データ型の知識は、どのプログラミング言語でも必要です。 – haccks
私はポインタ、デリファレンス、およびヌルで終了する文字列について読むことをお勧めします。 – redxef
['printf' man page here](https://msdn.microsoft.com/en-us/library/wc7014hz.aspx)は複雑で、他のマニュアルページにもリンクしています。あなたの頭が爆発するまで1時間または3回探検するのは夜間よりも良いでしょう。 –