montillo10 2019-10-18 19:27 采纳率: 0%
浏览 185

c语言问题,不太明白 求解释,谢谢

scanf("%d",&a)
与scanf("%d ",&a)
与scanf(" %d",&a)
具体是什么区别?
有个问题是
输入分为两部分:第一个数是k,然后输入k个较小的整数。
输出为这k个整数的平均值,保留3位小数。
Sample Input

3
1 2 3

Sample Output

2.000
#include
int main()
{
int k,i,s=0,a;
double v;
scanf("%d\n",&k);
for(i=1;i<=k;i++)
{
scanf("%d",&a);
s+=a;
}
v=(double)s/k;
printf("%.3lf",v);
}
然后如果scanf那里我不加空格是这样scanf("%d",&a);或者 scanf(" %d",&a);
这样是可以正常输出的
但是如果是 scanf("%d ",&a); 即加后空格 就得多输一个数然后敲回车才能输出
请问这是为什么?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-10-18 21:00
    关注

    scanf故名思意就是按照格式(format,简写为f)来扫描(scan)你的输入。所以你有空格,那么输入也要有空格,有逗号,输入也要有逗号

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制