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;
给出合理解释
展开
 我来答
沉思的跳跳虎
推荐于2018-04-21 · TA获得超过115个赞
知道答主
回答量:63
采纳率:0%
帮助的人:17.8万
展开全部
C是不正确的。
原因是这样的,C语言中变量的定义和声明的区别就是定义会为变量分配实际的存储空间,而声明不是这样。变量的声明看到的一般是在a.c 文件中声明一个全局变量 int a; 然后为了在b.c中使用这个变量需要extern int a;另外一种情况就是函数定义或函数声明中的形参。 其他情况见到的都会为变量分配实际的存储空间的,常见的就是 int num; float b[3];这种形式了。
既然要为变量分配存储空间,自然的事情是编译器需要知道这个变量的大小了,它到底占几个字节,如果一个变量的大小是不确定的,自然编译器不知道该为它分配多少存储空间了,这样在编译器会报告语言错误的。因此看看上面哪个变量的大小是未知的就行了,一看就是C了,因为string数组的大小是不确定的。
颖喵喵是讨厌鬼
2012-07-09 · TA获得超过547个赞
知道小有建树答主
回答量:430
采纳率:0%
帮助的人:398万
展开全部
A,B,C都不对啊!
A,B犯同样的错误。int S_2(4)就够了。
C,string为一个类型,不能作为变量名。
追问
A答案定义数组不能用int S_2〔4〕〔3〕,定义吗?
追答
数组符号不是[ ]吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寓理帅气_
2012-07-09
知道答主
回答量:11
采纳率:0%
帮助的人:9.2万
展开全部
C不对,数组定义时没有指明元素个数就必须进行初始化,char string[ ]={“hello”,“world“}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ember_Link
推荐于2017-08-25
知道答主
回答量:1
采纳率:0%
帮助的人:1598
展开全部
C是不正确的,要么就这样写:char string[] = {"fsdfsfdadf"};或者是
char string[6];还有,
string在VC++中是关键字,不能作为变量名,这要看是在那个开发环境中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jxfzjxlzg
2012-07-09
知道答主
回答量:1
采纳率:0%
帮助的人:1598
展开全部
C,字符数组名,不能用保留字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式