C语言:图片上的C问题,选什么?为什么?

如题所述

答案应该是B

    答案A 因为 N不是变量 ,不能描述为:N的值是100

    #define N 100是宏指令,是在程序编译的 预处理阶段 展开的。

    所以B描述的更加精确,C描述的模糊。

    答案D,C语言的宏的展开不是在程序运行阶段展开的。所以是错的。

    -------------------

    希望我的回答对你有所帮助,很高兴和你一起学习和讨论C/C++

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-03-02
B是正确的,所以选B就对了——因为#define N 100这叫预处理语句,其中N叫“宏标识符”,是右边的100这个字符串的“标记”,只在预处理过程中有效。预处理过程中凡是能被解释成独立N的地方都要用100这个字符串替代。所以N既不是“值”也没有类型,把100解释成整型100还是浮点100,抑或把100那个地方写的其他字串解释成函数名、运算符等,要看替换后它所处的C语句中的位置应该是什么类型或其他合法符号。显然:A说N的值是100是错误的;C不是编译时替换而是预处理时替换,所以错;D运行时替换就更错了!
(看到microroom朋友的提醒更正的)本回答被提问者采纳
第2个回答  2021-03-02
选C,因为对于编译语言,宏展开是在编译时进行的
第3个回答  2021-03-02
答案选择C,谢谢,望采纳!

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网