早教吧作业答案频道 -->其他-->
设有定义:#defineSTR"12345";,则以下叙述正确的是这题的C,D两项有什么区别吗?A、宏名STR代替的是数值常量12345B、宏定义以分号结束,编译时会产生错误信息C、宏名STR代替的是字符串"12345"
题目详情
设有定义:#define STR "12345";,则以下叙述正确的是 这题的C,D两项有什么区别吗?
A、宏名STR代替的是数值常量12345
B、宏定义以分号结束,编译时会产生错误信息
C、宏名STR代替的是字符串"12345"
D、宏名STR代替的是字符串常量"12345"
A、宏名STR代替的是数值常量12345
B、宏定义以分号结束,编译时会产生错误信息
C、宏名STR代替的是字符串"12345"
D、宏名STR代替的是字符串常量"12345"
▼优质解答
答案和解析
#define STR "12345"; 宏定义居然带分号.
A,C,D 显然都是错的.因为 STR 代替的是 "12345"; (含分号和引号)
出题人的目的是要回答者 答 B -- 编译时会产生错误信息.
一般情况确实如此,例如:
#define STR "12345";
printf("%s",STR); // -- 编译时会产生错误信息,因为替代后为:printf("%s",“12345”;); 多余分号引起出错.
但有些情况未必出错.例如:
#define STR "12345";
char str[]=STR;
printf("%s",str);
没有问题,编译通过,运算正确.
--------------
C,D两项 没区别.出题人,估计原打算说 “字符常量”,却说成 “字符串常量”.
A,C,D 显然都是错的.因为 STR 代替的是 "12345"; (含分号和引号)
出题人的目的是要回答者 答 B -- 编译时会产生错误信息.
一般情况确实如此,例如:
#define STR "12345";
printf("%s",STR); // -- 编译时会产生错误信息,因为替代后为:printf("%s",“12345”;); 多余分号引起出错.
但有些情况未必出错.例如:
#define STR "12345";
char str[]=STR;
printf("%s",str);
没有问题,编译通过,运算正确.
--------------
C,D两项 没区别.出题人,估计原打算说 “字符常量”,却说成 “字符串常量”.
看了设有定义:#defineSTR...的网友还看了以下:
一道诡异的函数题各位仁兄看一个函数题已知g(2x-1)=2x平方+1求g(x)的解析式.设2x-1 2020-05-16 …
当x属于【-1,1】时,f(x)=x^3问此函数在【1,3】上的解析式令t=x+2,则x=t-2带 2020-05-17 …
高中数学问题,求解答F(X)是以T为周期的函数,则函数F(x)+F(2x)+F(3x)+F(4x) 2020-05-17 …
求复合函数解析式3f(2x-3)+2f(3-2x)=2x,f(x)=?今天刚学这个还不太懂.一这道 2020-05-23 …
基本不等式的一正二定三相等已知正数x、y满足xy=x+y+3则xy的取值范围是x+y=xy-3≥2 2020-06-02 …
几个微积分的简单问题..看参考书没看懂..1.求∫(x+1)/(3x+1)^1/3dx设3x+1= 2020-06-06 …
已知f(x-1)=x^2-4x,求函数f(x),f(2x+1)的解析式令t=x-1,则有:x=t+ 2020-06-17 …
第10题1,3,3,4,5,6,6不能构成简单图的度数列正确错误第11题若n阶无向简单图G有m-1 2020-07-23 …
若函数f(2x+1)=x^2-2x,则f(3)等于多少?两种算法:1.常规算法设2x+1=t,则x= 2020-10-31 …
已知Ax=0的通解,如何求矩阵A例如A是2*4的矩阵,其基础解系为a1=(1,3,0,2)^T,a2 2021-02-11 …