问答详情
源自:2-7 不可改变的常量

我没改变赋值 为何也运行不了

#include <stdio.h>
#define    POCKETMONEY  10    //定义常量及常量值
int main()
{
int POCKETMONEY;
    POCKETMONEY=10;
       //小明私自增加零花钱对吗?
    printf("小明今天又得到%d元零花钱\n", POCKETMONEY);
    return 0;  
}

当然我是乱来的 但还是想知道

提问者:树上 2015-06-18 16:03

个回答

  • onemoo
    2015-06-18 18:26:23
    已采纳

    #define    POCKETMONEY  10

    这一句是预处理指示。在将代码送给编译器之前,预处理器会将代码中的POCKETMONEY替换成10(双引号中的文本不会被替换),所以编译器看到的代码是:

    int 10;
    10=10;
    ...

    C语言规定变量名必须以字母或下划线开头,所以这个命名不合法,编译不过。