C++的选择题
设定义charstr[]="hello\tworld\n";则printf("%d,%c\n",sizeof(str),*(str+10))输出结果为。A)13,dB)1...
设定义char str[]="hello\tworld\n";
则printf("%d, %c\n", sizeof(str), *(str+10)) 输出结果为 。
A) 13, d B) 10, r
C) 14, l D) 12, d
为什么是13 我觉得只有12、还有
*(str+10)这个为什么是指向第10个数字?这个该怎么理解啊?
我知道答案是A,但是我选了D,我想知道A怎么来的,还有上面问的 展开
则printf("%d, %c\n", sizeof(str), *(str+10)) 输出结果为 。
A) 13, d B) 10, r
C) 14, l D) 12, d
为什么是13 我觉得只有12、还有
*(str+10)这个为什么是指向第10个数字?这个该怎么理解啊?
我知道答案是A,但是我选了D,我想知道A怎么来的,还有上面问的 展开
3个回答
展开全部
在定义str[]时编译器会在字符串末尾自动加上\0表示字符串结尾,故总共有13个字符串。str即数组名表示数组的第1个元素的地址,也就是str[0]的地址,由于数组的元素之间是连续的,str后面家上数表示地址增加相应的数*对应数组的类型在内存中的字节数,简单的说就是str+n就表示str[n]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-01-15
展开全部
选a啊aaaaaaaaaaaaaaaaaaaaaaaaaa
尼玛,回答问题
尼玛,回答问题
追问
我知道选A,我想知道步骤,额,步骤,还有怎么来的
追答
“\t”和“\n”算是一个字符。
sizeof()和getlength()的区别是
sizeof会计算这个数据所占用的空间大小,就是i多少字节。
字符串,末尾会自动添加个”\0|作为结束表示,所以要加一。
为什么是“d”,因为数组的下标是从0,1,2,开始数的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询