c语言问题??
1floata[3]={3*0};2inti;3for(i=0;i<3;i++)4scanf("%d",&a[i]);5for(i=1;i<3;i++)6a[0]=a[0...
1 float a[3] = { 3 * 0 };
2 int i;
3 for (i = 0; i < 3; i++)
4 scanf("%d", &a[i]);
5 for (i = 1; i < 3; i++)
6 a[0] = a[0] + a[i];
7 printf("%f ", a[0]);
为什么说第一行有错? 展开
2 int i;
3 for (i = 0; i < 3; i++)
4 scanf("%d", &a[i]);
5 for (i = 1; i < 3; i++)
6 a[0] = a[0] + a[i];
7 printf("%f ", a[0]);
为什么说第一行有错? 展开
3个回答
展开全部
编译器:
gcc.exe (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
首先这道题,默认编译后无任何警告,通过了编译,那么问题应该出现在语义上:
行①:数组a的元素是float类型
行④:scanf输入至&a[i]的数据被格式化为了十进制整数
行⑦:printf以float型格式化输出a[0]
明显这存在着数据处理形式不一致的情况,要么1、7都错,要么4错。
展开全部
c语言问题 这个如果你在写的过程中碰到问题,可以给你提示解决,如果要完整代码,恐怕没人有这么多闲时间给你做吧.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言问题 这个如果你在写的过程中碰到问题,可以给你提示解决,如果要完整代码,恐怕没人有这么多闲时间给你做吧.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询