- 締切済み
C言語がゎからなくて困ってます;;
<プログラム(1)> #include <stdio.h> int main() { int i; char a[]="Simulation", *po; po=a; while(*po!='\0') { po++; i++; } printf("The Number of \"Simulation\" is %d\n", i); } <実行結果> The Number of "Simulation" is 10 <プログラム(2)> #include <stdio.h> int main() { int i,j = 0; char a[]="Faculty of Industrial Science and Technology", *po; po=a; while(*po!='\0') { if(*po <= 'z' && *po >= 'a') i++; if(*po <= 'Z' && *po >= 'A') j++; po++; } printf("\"Faculty of Industrial Science and Technology\" contains %d small letters.\n", i); printf("\"Faculty of Industrial Science and Technology\" contains %d capital letters.\n", j); } <実行結果> "Faculty of Industrial Science and Technology" contains 35 small letters. "Faculty of Industrial Science and Technology" contains 4 capital letters. 学校の宿題でプログラムを作ったんですけど、 プログラム(1)ではi=0と書ぃてぃないのにきちんと文字数のカウントが できるのに、プログラム(2)ではi,j=0と書かなければうまくいきませんでした。でもその理由がわからなくて困ってます↓↓ 誰か教えてくださぃ!! 教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
理由:偶然 対処:初期化する。 こういう日本語はありません。 × ゎからなくて × 書ぃてぃない 正しい日本語を使いましょう。
- osamuy
- ベストアンサー率42% (1231/2878)
(1)が、偶然動いただけでは。 C言語の仕様として、変数を初期化してない場合はメモリ内容をそのまま使いますので。