gpt4 book ai didi

c - 为什么编译器提示减去负数?

转载 作者:行者123 更新时间:2023-11-30 20:47:22 24 4
gpt4 key购买 nike

 #include <stdio.h>
int main()
{
int a,b;
a=-3--25;
b=-3--(-3);
printf("a=%d b=%d\n",a,b);
return 0;
}

在这个程序中,我认为一切都很好,但在构建时我仍然收到错误:[|5|error: expected ';' before numeric constant|. ] 我不知道这个程序有什么问题。

最佳答案

-- 是递减运算符。您不能将减量运算符应用于数值常量,因为它会改变其应用的内容。那就是

--a;

更改a的值。因此 --3 无效,您无法更改常量。

如果要减去负数,则减号运算符 - 和负运算符 - 之间需要有一个空格,或 () 围绕被否定的事情:

a = -3 - -25;
b = -3 - -(-3);

另外,请注意 -(-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;
}

关于c - 为什么编译器提示减去负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24094434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com