【发布时间】:2020-02-21 09:03:18
【问题描述】:
所以,我很困惑为什么 i 的输出是 27 而不是 343
#include <stdio.h>
#define x 5+2
void main() {
int i;
i=x*x*x;
printf("%d",i); }
【问题讨论】:
-
扩展为
5+2*5+2*5+2。 -
这能回答你的问题吗? The need for parentheses in macros in C
-
OT:关于声明:
void main() {1) 在 C 中,main()只有两个有效签名,它们是:int main( void )和int main( int argc, char *argv[] )注意:它们都有返回类型int,而不是void。该语句将导致编译器输出警告消息。
标签: c