啊哈磊_编程从这里起步

标题: 课本142页,陶陶摘苹果,不管输入什么数字,最后的结果总是1 [打印本页]

作者: Vivian1091    时间: 2013-12-29 16:01
标题: 课本142页,陶陶摘苹果,不管输入什么数字,最后的结果总是1

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.         int h,a[10],i,sum;
  6.     for(i=0;i<=9;i++)
  7.                 scanf("%d",&a[i]);
  8.     scanf("%d",&h);
  9.     sum=0;
  10.     for(i=0;i<=9;i++);
  11.     {
  12.         if( a[i]<=h+30)
  13.         sum++;
  14.     }
  15.     printf("%d",sum);
  16.    
  17.         system("pause");
  18.         return 0;
  19. }
复制代码
谁能告诉我这是为什么。。

Screen Shot 2013-12-29 at 4.06.38 PM.png (40.3 KB, 下载次数: 8)

Screen Shot 2013-12-29 at 4.06.38 PM.png

作者: 4399APPLE    时间: 2013-12-29 16:01
其实并不是这样,你的第2个for后面有个分号
这样不可以
虽然编译成功……
如果所有的苹果高度至少有一个低于陶陶的身高
没问题
正确代码:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.         int h,a[10],i,sum;
  6.     for(i=0;i<=9;i++)
  7.                 scanf("%d",&a[i]);
  8.     scanf("%d",&h);
  9.     sum=0;
  10.     for(i=0;i<=9;i++)
  11.     {
  12.         if( a[i]<=(h+30))
  13.         sum++;
  14.     }
  15.     printf("%d",sum);
  16.    
  17.         system("pause");
  18.         return 0;
  19. }
复制代码
还有1张图片

捕获.PNG (36.15 KB, 下载次数: 18)

捕获.PNG

作者: Vivian1091    时间: 2013-12-30 08:45
4399APPLE 发表于 2013-12-29 16:01
其实并不是这样,你的第2个for后面有个分号
这样不可以
虽然编译成功……

原来是这样,为啥加个分号就变成那样了。。
作者: 4399APPLE    时间: 2013-12-30 13:02
Vivian1091 发表于 2013-12-30 08:45
原来是这样,为啥加个分号就变成那样了。。

因为加了个分号计算机就不知道到底应该执行啥子
单独的分号(;)表示什么都不执行
所以就是一直在执行那个空语句……
作者: Vivian1091    时间: 2013-12-30 16:36
4399APPLE 发表于 2013-12-30 13:02
因为加了个分号计算机就不知道到底应该执行啥子
单独的分号(;)表示什么都不执行
所以就是一直在执行 ...

明了~谢谢大侠~




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2