int fun(char *s)
{char *t=s;
while(*t++);
return(t-s);
}
有以下函数功能是:A:计算s所指字符串的长度、B,计算s所指字符串占用内存字节的个数。我拿不准
答案:5 悬赏:0 手机版
解决时间 2021-03-10 04:15
- 提问者网友:兔牙战士
- 2021-03-09 05:37
最佳答案
- 五星知识达人网友:摆渡翁
- 2021-03-09 05:54
B
当 *t ='\0' 退出循环,但接着依然会再执行一次 t++,
所以该程序的结果是:字符串结束后一个单元指针值减去字符串开始指针值,包括了"\0",所以得到的结果是字符所占的字节个数。
当 *t ='\0' 退出循环,但接着依然会再执行一次 t++,
所以该程序的结果是:字符串结束后一个单元指针值减去字符串开始指针值,包括了"\0",所以得到的结果是字符所占的字节个数。
全部回答
- 1楼网友:风格不统一
- 2021-03-09 10:27
肯定是A啦
- 2楼网友:毛毛
- 2021-03-09 09:06
应该是字符串的长度。
- 3楼网友:长青诗
- 2021-03-09 08:45
A.
return(t-s);因为这是指针地址相减,计算的是指针移动次数,和类型无关,因为每次移动是按变量所占字节长来的.如字符是1,而整型是2.相当于是当t指向'\0'时的地址和S所指向的地址相减.
如字符串s="china";.地址为0xFF00,t=s,while(*t++)结束后t指向'\0',因这是字符型,只占一个字节,t地址就是0xFF05,(偶地址系统不在讨论中)相减后得到的就是字符串不包含'\0'的长度.
- 4楼网友:鸠书
- 2021-03-09 07:27
B
因为 所占字节数包括'\0' 二字符串长度不包括
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯