C言語[ポインタ変数を使用したプログラム] 目的:「いくつかの間違いを修正し、適切な実行結果を出す。」 以下のプログラムのどこを変えればよいのか、修正部分について教えてください。

補足

5行目:修正前「&p」→修正後「*p」 10行目:前「%0.1d」→後「%0.1f」 11行目:前「p++」→後「(*p)++」

ベストアンサー

0

ThanksImg質問者からのお礼コメント

ご指摘ありがとうございます。

お礼日時:2021/11/30 10:04

その他の回答(2件)

0

どうであれば適切なのかを教えていただかないと...

ご回答ありがとうございます。言葉足らずで申し訳ありません。「プログラム内に幾つかの間違いがある。その間違いを正したときの実行結果は何か。」という課題内容でして、、。

1

(mas********さん) #include <stdio.h> int main(void){ double data[]={1.6,5.3,-1.5,8.2,1.7,-4.0,1.8,1.6,0}; //●0を追加 double *p; p=data; while(*p!=0){ //●変更 printf("%0.1f\n",*p); p++; } return 0; } かなり無為やり動作させてるけど... ------------------------------------ 配列のデータ数が不明なままで表示させるなら #include <stdio.h> int main(void){ double data[]={1.6,5.3,-1.5,8.2,1.7,-4.0,1.8,1.6}; double *p; int n; p=data; n=sizeof(data)/sizeof(double); while(n>0){ printf("%0.1f\n",*p); p++; n--; } return 0; }

1人がナイス!しています

ご回答ありがとうございます。 この課題内容に対する私なりの解釈だと、プログラム内のいくつかのミスを置き換える程度のもので、新たに何か付け足すような必要はないものだと思っていました。 Windcatさんが修正してくださったプログラムが適切であることは間違いありません。お助けいただきましてありがとうございます。