大文字と小文字の組み合わせが同じであるかどうかを調べるプログラムを書いているのですが、その時に
のどちらにすればいいのかよくわからなくなりました。
以下が書いたプログラムです。
%sでやると正常に動きません。違いを教えてください。
%cと%sの違い
Re: %cと%sの違い
%c : 単一の文字hogged さんが書きました: %sでやると正常に動きません。違いを教えてください。
%s : 文字の並び
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
-
- 記事: 52
- 登録日時: 9年前
- 住所: 兵庫県姫路市
Re: %cと%sの違い
http://www.k-cube.co.jp/wakaba/server/format.html
簡単に言えばhttp://oshiete.goo.ne.jp/qa/3027949.htmlここに書いてあるように
簡単に言えばhttp://oshiete.goo.ne.jp/qa/3027949.htmlここに書いてあるように
ということです。つまり、%sハイチ文字ごとに保存するのでその分”入れる箱”を用意する必要があります。誤----------------------------
char c;
scanf("%s", &c);
printf("%s\n", &c);
誤----------------------------
例に上げられている後のプログラムは間違いです。たまたま正しく動いているように見えるだけです。
%sはNull終了の文字列を扱うので、通常は以下のように書きます。
正----------------------------
char str[100];
scanf("%s", str); // strは配列の先頭を示すアドレス
printf("%s\n", str);
正----------------------------