if else不加花括号默认只能匹配一个语句命令,也就是之后一个分号的内容;加了花括号,才能执行花括号内的所有语句命令。它不是按照缩进匹配的语言
不加括号后边这个输出是不属于else作用范围的,都会输出,只有第一句属于else
相当于
else{ number = -number; }
printf("%d\n", number);
#include <stdio.h>
int
main(int argc, char *argv[]) {
int number;
scanf("%d", &number);
if (number >= 0)
printf("%d\n", number);
else {
number = -number;
printf("%d\n", number);
}
return 0;
}
你的else部分是需要加花括号的,否则第二个printf也是会打印输出的
你都知道加了花括号就过了,那就是因为没有加花括号啊
如果不知道花括号是什么就去看书,不要在这瞎试