C言語[ポインタ変数を使用したプログラムの修正]
Posted: 2021年11月29日(月) 22:23
目的:「いくつかの間違いを修正し、適切な実行結果を出す。」
以下のプログラムのどこを変えればよいのか、修正部分について教えてください。
#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;
p=data;
while(*p>0){
printf("%0.1f\n",*p);
(*p)++;
}
return 0;
}
以下の3つを修正してみましたが、実行結果で数字が∞に出てきてしまいます。
5行目:修正前「&p」→修正後「*p」
10行目:前「%0.1d」→後「%0.1f」
11行目:前「p++」→後「(*p)++」
以下のプログラムのどこを変えればよいのか、修正部分について教えてください。
#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;
p=data;
while(*p>0){
printf("%0.1f\n",*p);
(*p)++;
}
return 0;
}
以下の3つを修正してみましたが、実行結果で数字が∞に出てきてしまいます。
5行目:修正前「&p」→修正後「*p」
10行目:前「%0.1d」→後「%0.1f」
11行目:前「p++」→後「(*p)++」