首先,我想要对你所说的”前面一个报错,后面一个能运行“表示怀疑。按理来说,你应该两个程序都不能运行才对。 第一个程序的代码有两个错误,一个是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后面接多个语句。 |
把8、9、10行和12、13、14行分别用{ }括起来。否则,只能执行if下面的第一行。 |
说错,是判断偶数时后三个数,奇数时前三个数 |