搜索

这是为什么啊

查看数: 196 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-4-6 22:24

正文摘要:

这是同个用途的代码,都是检测输入值为奇数时输出后三个数,偶数时输出前三个。为什么一个报错一个能运行,没黄色警戒线的能运行

回复

帅小子 发表于 2019-4-7 12:46:43
首先,我想要对你所说的”前面一个报错,后面一个能运行“表示怀疑。按理来说,你应该两个程序都不能运行才对。
第一个程序的代码有两个错误,一个是if和else的问题,另一个是sleep的问题。
第二个程序的代码有一个错误,sleep的问题。
sleep这个函数根本就不存在,c++只有一个Sleep函数。而且,这个函数在头文件windows.h里面,所以你必须写上#include<windows.h>
而对于if和else,想必你是不明白if和else的使用方法。建议你去学一下。
if的后面以及else的后面都是只能够接一条语句的,比如说。
if(a%2==0)
    printf("%d\n",a);
但是如果你这么写:
if(a%2==0)
    printf("%d ",a);
    printf("%d",a+1);
由于if本身的性质,上面这个代码和下面这个代码无异:
if(a%2==0)
    printf("%d ",a);
printf("%d",a+1);
你要注意,我们平时在写c++代码的时候,之所以采用缩进,不是因为只有缩进代码才是正确的,而是应该缩进之后的代码看起来舒服而已。所以,是否缩进对程序的编译时没有影响的。
如果你想要在if后面接多个语句,那么就应该像下面一样,用大括号括起来。if(a%2==0)
{
    printf("%d ",a);
    printf("%d",a+1);
}
只有用大括号才能在if后面接多个语句。
hbxt008 发表于 2019-4-6 23:06:56
把8、9、10行和12、13、14行分别用{ }括起来。否则,只能执行if下面的第一行。
青衫青丝 发表于 2019-4-6 22:25:51
说错,是判断偶数时后三个数,奇数时前三个数
快速回复 返回顶部 返回列表