Sve*_*xix 0 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;
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译代码时,我收到以下错误.
helloWorld.c:在函数'main'中:
helloWorld.c:9:错误:在'='标记之前的预期表达式
(对于那些不想计算的人,第9行是while循环声明).如何使用预处理器函数执行此操作,这是在C中使用常量值的最佳方法吗?我可以使用'const'来使用它,但我不认为这是最好的.
您#define用来声明一个宏,在某些情况下,您可以将其视为一种常量.
实际上,会发生什么是编译器用宏文本替换任何出现的宏.在你的情况下,= 3.这导致while(i < = 3),这是语法错误.
编写宏的正确方法是:
#define NUM 3
Run Code Online (Sandbox Code Playgroud)
要定义实常数,请使用const关键字.