查看: 1300|回复: 2

[逻辑推理] 简单的C代码查错题

转载  简洁模式
发表于 2018-4-27 19:55:00 | 发自安卓客户端
下面是一个C语言编程的代码,本来这个程序有两个选择A B (AB只是个例子),只能选一个,两个的结果都不一样,但突然出了个错误导致随便选哪个结果都一样了,问A B是指什么?是哪里出错了?(不要相信任何一个注释)!!!
题目:

#include<stdio.h>
int main( )
{
            int c;//定义c
            printf("本程序能计算两数相加并显示后99位数\n\n明白请按1并确定\n");          //输出标题并换行
            scanf("%d",&c);
            if(c!=1)             //c不等于1时输出的内容
{
            printf("\n            不明白???\n\n\n");       //换行并输出内容
}
            if(c=1)
{           printf("请输入第一个数并按回车\n");      //输出内容并换行
            int d;        //定义d
            scanf("%d",&d);            //输入一个数替换d
            printf("请输入第二个数并按回车\n");         //输出内容并换行
            int m;           //定义m
            scanf("%d",&m);        //输入一个整型数替换m
            int a=d+m;           //定义a=d+m
            printf("答案是%d!\n",a);      //输出内容
            if(a<0)           //a的值小于0时输出的内容
    {       for(int i=a;i>-100;i--)        //定义循环语句开始于i=a;且i大于-100;i减1
        {    printf("%d\t",i);        //循环输出i和i-1后的值,直到不再大于-100;
        }
    }
            if(a>0)        //a的值大于0时输出的内容
    {        for(int i=a;i<100;i++)        //定义循环语句开始于i=a;且i小于100;i加1
        {    printf("%d\t",i);            //循环输出i和i+1后的值,直到不再小于100;
        }
    }
            if(a==0)         //当a=0时输出的内容
    {       printf("\n这个数暂不支持!!!\n");          //输出内容
    }
}

            return 0;    //结束语句
}
楼主| 发表于 2018-4-27 19:57:31 | 发自安卓客户端
C新手可以用这个题练习找BUG哦
发表于 2018-5-25 04:36:32 | 发自安卓客户端
1. c==1
2. 无法显示a的后99位数(如果是这个意思的话
3. 标准C里不允许中途声明变量
尚未登录
您需要登录后才可以回帖 登录 | 加入学院