#include <stdio.h>
int main()
{
int a,b;
a=-3--25;
b=-3--(-3);
printf("a=%d b=%d\n",a,b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在这个程序中,我认为只是很好,但仍然在构建时我得到了错误[ |5|error: expected ';' before numeric constant|.]我不知道这个程序有什么问题.
--是减量运算符.您不能将减量运算符应用于数字常量,因为它会更改它应用的内容.那是
--a;
Run Code Online (Sandbox Code Playgroud)
改变了a.的价值.所以--3无效,你不能改变常数.
如果你想减去一个负数,你需要在减号运算符-和否定运算符之间-或者()被否定的东西之间留一个空格:
a = -3 - -25;
b = -3 - -(-3);
Run Code Online (Sandbox Code Playgroud)
另外,请注意这-(-3)是一种冗长的写作方式3.
一般来说,空格和空白行不是敌人.在操作员周围放置空格,明智地使用空行,通常可以提高可读性.
#include<stdio.h>
int main()
{
int a, b;
a = -3 - -25;
b = -3 - -(-3);
printf("a = %d, b = %d\n", a, b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)