C 在while循环中使用define
我正在学习如何用C语言编程,但我不知道如何使用常量循环。我的理解是,在C中使用常量值的最佳方法是通过define语句纠正我的错误。但它似乎不起作用 这是我的密码C 在while循环中使用define,c,loops,c-preprocessor,C,Loops,C Preprocessor,我正在学习如何用C语言编程,但我不知道如何使用常量循环。我的理解是,在C中使用常量值的最佳方法是通过define语句纠正我的错误。但它似乎不起作用 这是我的密码 #include <stdio.h> #define NUM = 3 void main(int argc, char *argv[]){ int i=0; while(i<NUM){ printf("foo "); i++; } return; } 当我试图编译代码时,我
#include <stdio.h>
#define NUM = 3
void main(int argc, char *argv[]){
int i=0;
while(i<NUM){
printf("foo ");
i++;
}
return;
}
当我试图编译代码时,我得到以下错误
helloWorld.c:在函数“main”中:
helloWorld.c:9:错误:在“=”标记之前应该有表达式
对于那些不想计数的人,第9行是while循环声明。
如何使用预处理器函数实现这一点,这是在C中使用常量值的最佳方法吗?我可以使用“const”让它工作,但我认为这不是最好的。使用
定义数值3定义数值=3的整数
使用
define NUM 3您可以使用define来声明宏,在某些情况下可以将其视为一种常量
实际上,编译器会用宏文本替换出现的宏。在你的情况下,=3。这将导致whilei<=3,这是一个语法错误
写入宏的正确方法是:
#define NUM 3
要定义实常量,请使用const关键字
应该是
#define NUM 3
学习使用编译器的“仅预处理”选项,以便解决这些问题 你自己 例如 您可以使用bar.c中的line指令宏的偏移量找到第9行,但它显示得很清楚 您的错误:
while(i< = 3){
-对这个问题投1比1的赞成票……我喜欢把const读成只读:const不是一个真正的常量:+1表示一个真正的语句,但是-1表示没有解释为什么在我
% gcc -E foo.c > bar.c
while(i< = 3){