24小时热门版块排行榜    

查看: 1311  |  回复: 7

780331691

铁虫 (初入文坛)

[求助] 求大神来帮助我,,,,关于C语言的.懂得快进来,,, 已有2人参与

(32)有以下程序
#include<string.h>
main()
{  char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};
printf("%d%d\n",strlen(p),strlen(q));}
以下叙述中正确的是
    A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
    B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3
    C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3
    D) 由于p和q数组中都没有字符串结束符,故长度都不能确定
给我的答案是这样的:
(32)A    【解析】 在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3


我的问题是这样的---------我在VC++6.0中打的代码是这样的:
# include <stdio.h>
# include <string.h>

int main(void)
{
        char p[] = {'a', 'b', 'c'};
        char q[10] = {'a', 'b', 'c'};
        printf("%d %d\n", strlen(p), strlen(q));
        return 0;
}
输出结果是:
7 3
Press any key to continue
我得的答案和他给的不同,,,,,我也不知道怎么回事了...
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
780331691: 金币+5 2014-03-21 18:02:46
vc++2008打印结果3 3
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2014-03-20 19:48:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

陈锡水

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
不应该啊!3,3才是
3楼2014-03-20 20:45:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

780331691

铁虫 (初入文坛)

引用回帖:
3楼: Originally posted by 陈锡水 at 2014-03-20 20:45:56
不应该啊!3,3才是

可是我的是7 3
4楼2014-03-20 21:11:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

780331691

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2014-03-20 19:48:24
vc++2008打印结果3 3

可是我的怎么是这样的
5楼2014-03-20 21:13:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

答案是D。系统不会自动添加字符串的结束符。哪本书告诉你的,赶紧把它扔掉。记住,数组是数组,字符串是字符串。
6楼2014-03-23 18:49:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rbs

木虫 (小有名气)

引用回帖:
6楼: Originally posted by rbs at 2014-03-23 18:49:44
答案是D。系统不会自动添加字符串的结束符。哪本书告诉你的,赶紧把它扔掉。记住,数组是数组,字符串是字符串。

看错了。q在定义的时候指定了长度,那么答案是B。
但不是因为系统自动在后面添加了字符串结束标记,而是因为q数组后面没有手动指定初始化的7个元素被自动初始化为'\0',而这恰好就是字符串的结束标记。
7楼2014-03-23 18:53:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

guo305711135

铜虫 (初入文坛)

试着把这两个数组输出来看看结果是什么!
勤学苦练,宁静致远!
8楼2016-03-18 15:45:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 780331691 的主题更新
信息提示
请填处理意见