C++程序设计

[复制链接]
查看11 | 回复3 | 2010-6-19 23:08:02 | 显示全部楼层 |阅读模式
7.有以下程序,程序执行后输出结果是( )。?
main()
{int p[]={‘a’,’b’,’c’ },q[]=”abc”;
cout<<sizeof(p)<<” ”<< sizeof(q)<<endl;
}
A4 4
B3 3
C3 4
D4 3
为什么结果是34啊,求教!

回复

使用道具 举报

千问 | 2010-6-19 23:08:02 | 显示全部楼层
考察单引号,双引号,字符串的双引号内还有个‘\0',所以“abc”实际上是“abc\0”。股为四个
回复

使用道具 举报

千问 | 2010-6-19 23:08:02 | 显示全部楼层
问题里的变量类型是不是char类型的哦,第一个p中的字节数是3,相信你应该知道为什么,一个字符是1个字节。第二个q,因为它是字符串的,所以字符串应该是以‘\0’结尾,自然运行结果是4。你看看,能理解吗
回复

使用道具 举报

千问 | 2010-6-19 23:08:02 | 显示全部楼层
“abc”是字符串,其实他后面还有一个'\0'结束符
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行