%cと%sの違い
Posted: 2016年4月21日(木) 23:16
大文字と小文字の組み合わせが同じであるかどうかを調べるプログラムを書いているのですが、その時に
のどちらにすればいいのかよくわからなくなりました。
以下が書いたプログラムです。 %sでやると正常に動きません。違いを教えてください。
以下が書いたプログラムです。 %sでやると正常に動きません。違いを教えてください。
%c : 単一の文字hogged さんが書きました: %sでやると正常に動きません。違いを教えてください。
ということです。つまり、%sハイチ文字ごとに保存するのでその分”入れる箱”を用意する必要があります。誤----------------------------
char c;
scanf("%s", &c);
printf("%s\n", &c);
誤----------------------------
例に上げられている後のプログラムは間違いです。たまたま正しく動いているように見えるだけです。
%sはNull終了の文字列を扱うので、通常は以下のように書きます。
正----------------------------
char str[100];
scanf("%s", str); // strは配列の先頭を示すアドレス
printf("%s\n", str);
正----------------------------