| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:这个面试题要肿么回答?
只看楼主 加入收藏
乾坤洞主
Rank: 3Rank: 3
来 自:乾坤洞
等 级:论坛游侠
帖 子:93
专家分:103
注 册:2012-7-18
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:6 
这个面试题要肿么回答?
程序代码:
#include<stdio.h>
#include<string.h>
int main ( void )
{
   char *r1 = "hello" ;
   char r2[] = "hello" ;
   char r3[] = {'h','e','l','l','o'} ;

   printf("r3[5] : %c\n", *(r3+5) ) ;
   printf("r3[6] : %c\n", *(r3+6) ) ;
   printf("r1 : %d %d \n", sizeof( r1 ) , strlen( r1 ) ) ;
   printf("r2 : %d %d \n", sizeof( r2 ) , strlen( r2 ) ) ;
   printf("r3 : %d %d \n", sizeof( r3 ) , strlen( r3 ) ) ;

   return 0 ;
}
2014-11-06 15:46
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
答什么

DO IT YOURSELF !
2014-11-06 16:07
west_bird
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-11-3
收藏
得分:0 
o
\0
1 1
1 1
5 5
2014-11-06 16:15
乾坤洞主
Rank: 3Rank: 3
来 自:乾坤洞
等 级:论坛游侠
帖 子:93
专家分:103
注 册:2012-7-18
收藏
得分:0 
回复 2 楼 wp231957
输出!

和尚我爱四处游,疯疯癫癫有理由    
开开心心是正道,愁愁烦烦不应该
2014-11-06 16:29
乾坤洞主
Rank: 3Rank: 3
来 自:乾坤洞
等 级:论坛游侠
帖 子:93
专家分:103
注 册:2012-7-18
收藏
得分:0 
回复 2 楼 wp231957
不要闹,我不信什么编译器能给这个结果

和尚我爱四处游,疯疯癫癫有理由    
开开心心是正道,愁愁烦烦不应该
2014-11-06 16:33
cs64881279
Rank: 2
等 级:论坛游民
帖 子:21
专家分:14
注 册:2013-8-15
收藏
得分:5 
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-11-06 17:39
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
收藏
得分:15 
通过自己查资料,原因如下:
首先r1是字符型指针,在32位机中会存4为,就是long 型
所以是4,strlen是求字符串长度的函数,所以1,2都是5,但是对3来说,因为它是字符型数组,只开辟了5个空间,所以之后有没有东西不知道,所以那个strlen( r3 )其实是不确定的,
因为字符串时,操作系统会自动加一个\0,所以2的sizeof事6,3是字符数组,不加\0,所以是5.
2014-11-06 18:44
快速回复:这个面试题要肿么回答?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.073371 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved