永发信息网

谁告诉这个代码为什么在tc2.0运行不了

答案:3  悬赏:80  手机版
解决时间 2021-07-25 14:30
  • 提问者网友:咪咪
  • 2021-07-24 21:34

void main()
{
float a[10],*pa=a,*max=a,*min=a,*t,p=0.0;
for (pa=a;pa<a+10;pa++)
scanf("%f",pa);
for (pa=a+1;pa<a+10;pa++)
{ if(*max<*pa) t=max,max=pa,pa=t;
if(*min>*pa) t=min,min=pa,pa=t; }
for (pa=a;pa<a+10;pa++)
p+=*pa;
p=p/10;
printf("max=%f,min=%f,p=%f\n",*max,*min,p);
getch();
}

运行就闪一下,按Alt+F5提示浮点格式错误程序终止

最佳答案
  • 五星知识达人网友:拜訪者
  • 2021-07-24 22:53

void main()
{
float a[10],*pa=a,*max=a,*min=a,*t,p=0.0;
for (pa=a;pa<&a[10];pa++)
scanf("%f",pa);
for (pa=a+1;pa<&a[10];pa++)
{ if(*max<*pa) { t=max,max=pa,pa=t;}
if(*min>*pa) { t=min,min=pa,pa=t;} }
for (pa=a;pa<&a[10];pa++)
p+=*pa;
p=p/10;
printf("max=%f,min=%f,p=%f\n",*max,*min,p);
getch();
}


修改的地方都加粗了.

全部回答
  • 1楼网友:一袍清酒付
  • 2021-07-25 01:21
pa<a+10某些编译器可能会出现你不期望的结果,另外,像t=max,max=pa,pa=t;这种情况要慎用逗号,有些编译器的默认优化也可能出现非预期的结果.
  • 2楼网友:逐風
  • 2021-07-25 00:16

你可以在程序的后面多写几个getch();

你的代码没错的

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯