gpt4 book ai didi

c - #定义奇怪

转载 作者:行者123 更新时间:2023-12-02 05:34:25 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<conio.h>
#define square(v) v*v
void main()
{
int p=3;
int s=square(++p);
printf("%d %d",s,p);
getch();
}

输出25 5为什么 16 4 没有作为输出出现?(提前致谢)

最佳答案

宏基本上是文本复制和粘贴。因此,您的 ++ 被复制了。

宏被扩展为:

s = ++p * ++p;

这就是宏的危险。 (在这种情况下,它还会调用未定义的行为)

关于c - #定义奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7689712/

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