• 締切済み

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と書かなければうまくいきませんでした。でもその理由がわからなくて困ってます↓↓ 誰か教えてくださぃ!! 教えてください。

みんなの回答

noname#77845
noname#77845
回答No.2

理由:偶然 対処:初期化する。 こういう日本語はありません。 × ゎからなくて × 書ぃてぃない 正しい日本語を使いましょう。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

(1)が、偶然動いただけでは。 C言語の仕様として、変数を初期化してない場合はメモリ内容をそのまま使いますので。

参考URL:
http://www.cmagazine.jp/src/kinjite/c/variable.html#index9

関連するQ&A