18. 在C语言中,下列语句定义了数据,其中哪一个是不正确的?
A.intS_1〔5〕,S_2〔4〕〔3〕B.floatx,a〔4〕〔5〕;C.charstring〔〕;D.intx=10,y;给出合理解释...
A. int S_1〔5〕,S_2〔4〕〔3〕 B. float x,a〔4〕〔5〕;
C. char string〔〕; D. int x=10,y;
给出合理解释 展开
C. char string〔〕; D. int x=10,y;
给出合理解释 展开
展开全部
C是不正确的。
原因是这样的,C语言中变量的定义和声明的区别就是定义会为变量分配实际的存储空间,而声明不是这样。变量的声明看到的一般是在a.c 文件中声明一个全局变量 int a; 然后为了在b.c中使用这个变量需要extern int a;另外一种情况就是函数定义或函数声明中的形参。 其他情况见到的都会为变量分配实际的存储空间的,常见的就是 int num; float b[3];这种形式了。
既然要为变量分配存储空间,自然的事情是编译器需要知道这个变量的大小了,它到底占几个字节,如果一个变量的大小是不确定的,自然编译器不知道该为它分配多少存储空间了,这样在编译器会报告语言错误的。因此看看上面哪个变量的大小是未知的就行了,一看就是C了,因为string数组的大小是不确定的。
原因是这样的,C语言中变量的定义和声明的区别就是定义会为变量分配实际的存储空间,而声明不是这样。变量的声明看到的一般是在a.c 文件中声明一个全局变量 int a; 然后为了在b.c中使用这个变量需要extern int a;另外一种情况就是函数定义或函数声明中的形参。 其他情况见到的都会为变量分配实际的存储空间的,常见的就是 int num; float b[3];这种形式了。
既然要为变量分配存储空间,自然的事情是编译器需要知道这个变量的大小了,它到底占几个字节,如果一个变量的大小是不确定的,自然编译器不知道该为它分配多少存储空间了,这样在编译器会报告语言错误的。因此看看上面哪个变量的大小是未知的就行了,一看就是C了,因为string数组的大小是不确定的。
展开全部
A,B,C都不对啊!
A,B犯同样的错误。int S_2(4)就够了。
C,string为一个类型,不能作为变量名。
A,B犯同样的错误。int S_2(4)就够了。
C,string为一个类型,不能作为变量名。
追问
A答案定义数组不能用int S_2〔4〕〔3〕,定义吗?
追答
数组符号不是[ ]吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C不对,数组定义时没有指明元素个数就必须进行初始化,char string[ ]={“hello”,“world“}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C是不正确的,要么就这样写:char string[] = {"fsdfsfdadf"};或者是
char string[6];还有,
string在VC++中是关键字,不能作为变量名,这要看是在那个开发环境中
char string[6];还有,
string在VC++中是关键字,不能作为变量名,这要看是在那个开发环境中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询