标题:问什么结果不对,哪里出错了
只看楼主
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
得分:0 
以下是引用wp231957在2013-3-4 14:07:37的发言:

#include  
 
int main(int argc, char* argv[])
{
    int i,n,sum=0;
start:
    printf("please input n:\n");
    scanf("%d",&n);
    if(n%2==0)
    {
        printf("输入错误 请重新输入");
        goto start;
    }
    for(i=1;i<=n;i+=2)
    {
        sum+=i;
    }
    printf("1+3+5+...%d=%d\n",n,sum);
    return 0;
}
这里考虑的比较完整,如果单纯用sum += i;的话,如果输入的是偶数,当然答案是一样的,但是完全背离了原来的意思

仰望星空...........不忘初心!
2013-03-04 18:32
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:0 
回复 7楼 qq384200403
在C语言中int型不赋初值,默认的是0。
2013-03-04 21:37
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
得分:0 
回复 6楼 wp231957
现在貌似C语言中不提倡用goto语句吧,还是你们汇编用多了。当然,一般的编译器都能实现,但是goto语句对程序的破坏性是比较大的。可能是我用的太少吧……
2013-03-04 21:40
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用shmilyflf在2013-3-4 21:37:41的发言:

在C语言中int型不赋初值,默认的是0。
哪个老师说的啊  开国际玩笑
程序代码:
#include<stdio.h>


int main()
{
    int i;
    printf("i=%d\n",i);
    return 0;
}
/*
   样例输出:
   i=-858993460
*/



DO IT YOURSELF !
2013-03-04 21:48
suchengjie
Rank: 1
等 级:新手上路
帖 子:118
专家分:1
注 册:2013-3-2
得分:0 
是不是不赋予初值的话,系统会赋予乱值
2013-03-04 22:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-399653-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.588713 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved