ページ 11

よろしくお願いします

Posted: 2010年12月10日(金) 15:14
by なの
今スケジュールを組むプログラムを作成しています。
その中でcidoukyoriを一回0という数字を
配列に入れたいのですが
思うようにいきません。

#include<stdio.h>
int main(void)
{
int cidoukyori1[7];
int i;
for(i=1; i<=6; i++){
cidoukyori1=0;
}

printf("cidoukyori1は%dです\n",cidoukyori1);
}


よろひくお願いします

Re: よろしくお願いします

Posted: 2010年12月10日(金) 15:56
by 沖 滉均

コード:

#include<stdio.h>

int main(void)
{
	int cidoukyori1[7];
	int i;
	for(i=1; i<=6; i++){ 
		cidoukyori1[i]=0;
	}

	printf("cidoukyori1は%dです\n",cidoukyori1);
}
以下の部分ですが、これはcidoukyori1の先頭アドレスを出力しているだけです。

コード:

	printf("cidoukyori1は%dです\n",cidoukyori1);
どのような出力を期待していますか?
1個目だけを表示したいのであれば配列の添え字を指定して出力してやればいいですし
全部出力したいのなら値を代入しているときと同様にfor文でまわしてその中で出力すれば良いです。
また、代入部分ですがCの配列の1つ目の添え字は0です

コード:

	for(i=0; i<=6; i++){    /* ←i=1からi=0に変更 */
		cidoukyori1[i]=0;
	}
よってi=1ではなくi=0にしないと0には初期化されていない不定値が入りますよ。

あと、もう1点
int main(void)
としているので、main関数はreturn 0など戻り値を指定してください。

Re: よろしくお願いします

Posted: 2010年12月11日(土) 00:39
by 初級者
そのプログラムがどんな仕様を持っているのかわかりませんが、
質問者さんの今のレベルではひじょうにしきいが高いのではないでしょうか。

もっと、基礎をしっかり叩き込むことが必要であるように思います。

Re: よろしくお願いします

Posted: 2010年12月11日(土) 07:10
by フリオ
>思うようにいきません。
 どのように思っているのでしょうか。
また、どのように上手くいかないのでしょうか。
 
もし、0で初期化したいのなら、
int cidoukyori1[7] = {0};
とするだけです。