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]);

为什么说第一行有错?
展开
 我来答
zhurengong
2021-04-19 · TA获得超过261个赞
知道答主
回答量:10
采纳率:100%
帮助的人:4万
展开全部

编译器:

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.


首先这道题,默认编译后无任何警告,通过了编译,那么问题应该出现在语义上:

  1. 行①:数组a的元素是float类型

  2. 行④:scanf输入至&a[i]的数据被格式化为了十进制整数

  3. 行⑦:printf以float型格式化输出a[0]

明显这存在着数据处理形式不一致的情况,要么1、7都错,要么4错。

吞者要捉他日擒5313

2022-06-27 · 超过12用户采纳过TA的回答
知道答主
回答量:1538
采纳率:57%
帮助的人:48.5万
展开全部
c语言问题 这个如果你在写的过程中碰到问题,可以给你提示解决,如果要完整代码,恐怕没人有这么多闲时间给你做吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
骨头很硬JUE

2022-06-24 · 超过91用户采纳过TA的回答
知道答主
回答量:1135
采纳率:17%
帮助的人:36.5万
展开全部
c语言问题 这个如果你在写的过程中碰到问题,可以给你提示解决,如果要完整代码,恐怕没人有这么多闲时间给你做吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式