搜索
查看: 570|回复: 10
打印 上一主题 下一主题

求帮助看看代码,挑战3

[复制链接]
跳转到指定楼层
楼主
发表于 2017-7-27 14:34:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
        int i,sum;
    sum=0;
    for(i=1;i<=123456;i++)
     {
                if(i%10==7||i%7==0);
        sum=sum+i;
     }
    printf("%d\n",sum);
        system("pause");
        return 0;
}
输出的结果竟然是负数?哪里错了呢
求指教

最佳答案

查看完整内容

这个分号去掉
楼主新帖
楼主热帖
沙发
发表于 2017-7-27 14:34:30 | 只看该作者
这个分号去掉                                 

QQ截图20170727184212.png (12.41 KB, 下载次数: 1)

QQ截图20170727184212.png
板凳
 楼主| 发表于 2017-7-28 09:55:22 | 只看该作者

为什么这个分号会影向结果而不是不可编译呢
地板
发表于 2017-7-28 09:58:01 | 只看该作者
hasayak_iYeKK 发表于 2017-7-28 09:55
为什么这个分号会影向结果而不是不可编译呢

http://iask.sina.com.cn/b/11776109.html
5#
 楼主| 发表于 2017-7-28 10:08:45 | 只看该作者
4399APPLE 发表于 2017-7-28 09:58
http://iask.sina.com.cn/b/11776109.html

不好意思,空语句是怎么影响的呢,对于这个例子
6#
发表于 2017-7-28 10:26:08 | 只看该作者
#include<stdio.h>
#include<stdlib.h>

int main()
{
        int sum,a[123456],t=0;
        for(sum=0;sum<=123456;sum++)
                a[sum]=0;
        for(sum=1;sum<=123456;sum++)
        {
                if(sum%7==0)
                        a[sum]=1;
                if((sum-7)%10==0)
                        a[sum]=1;
        }
        for(sum=1;sum<=123456;sum++)
        {
                if(a[sum]=1)
                        t=sum+t;
        }
        printf("%d\n",t);
        system("pause");
        return 0;
}
我的也是错的
7#
发表于 2017-7-28 10:26:58 | 只看该作者
看不出问题啊???!
8#
发表于 2017-7-28 11:55:38 | 只看该作者
你的代码应该是 sum++吧,毕竟是个数啊
9#
发表于 2017-7-28 12:44:26 | 只看该作者
hasayak_iYeKK 发表于 2017-7-28 10:08
不好意思,空语句是怎么影响的呢,对于这个例子

你的程序相当于这样
  1. for(i = 1;i <= 123456;i ++)
  2. {
  3.     if(i % 10 == 7 || i % 7 == 0)
  4.     {
  5.     }
  6.     sum = sum + i;
  7. }
复制代码
10#
发表于 2017-7-28 15:57:28 | 只看该作者
printf("%f",t)吗。。我刚看到这
11#
发表于 2017-7-28 20:57:32 | 只看该作者
^^^^^^^^^^^^^^^^^^^^^^

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表