発生している問題
配列に格納されている値の数が正しく表示されない
該当のソースコード
c言語
1#include<stdio.h> 2 3int count1(int a[]){ 4 int i, count = 0; 5 6 for(i = 0; i < 100; i++){ 7 if(a[i] == 0) break; 8 count++; 9 } 10 return count; 11} 12 13int main (void){ 14 int a[10] = {1,2,3,4,5,6,7,8,9,10}; 15 int b[11] = {1,2,3,4,5,6,7,8,9,10,11}; 16 int c[12] = {1,2,3,4,5,6,7,8,9,10,11,12}; 17 printf("%d\n", count1(a)); //11が表示される 18 printf("%d\n", count1(b)); //11が表示される 19 printf("%d\n", count1(c)); //23が表示される 20}
試したこと
配列の最後に0を付け足すとうまくいくことが分かりました。
###設定
配列は要素数が100で、値が格納されてないところには0が格納されているとしています。
コンパイラはgccです。
恐らく0が関係していると思いますが、理由が分からないので
ご教授していただけると幸いです。
回答3件
あなたの回答
tips
プレビュー