今日私はCで簡単な "プログラム"を作ろうとしていましたが、次のようにしたいと思います:大文字の文字列を入力すると、プログラムはすべての文字を小文字に変換します。しかし、私は好奇心に驚いた。あなたが見ることができるようにC - 文字列対配列の条件
char uppword[26];
int i;
printf("Gimme a word in uppercase.: ");
scanf("%s", uppword);
for (i=0; i < uppword[i]; i++){
uppword[i] = uppword[i] + 32;
}
printf("%s", uppword);
return 0;
は、forループで条件i < uppword[i]
あるが、これは作品ですなぜ私は、知りません。他の方法では、私はi < strlen(uppword)
でこの条件を置き換えることができ、それも動作します。しかし、私はこれが配列と同じだとは思わない。なぜこの配列が機能するのですか?配列の "i"は先頭の0にあるため、条件はTRUEではないため、処理を続行できません。
Cには文字列型がありません。 – Olaf