永发信息网

有以下函数功能是:A:计算s所指字符串的长度、B,计算s所指字符串占用内存字节的个数。我拿不准

答案:5  悬赏:0  手机版
解决时间 2021-03-10 04:15
  • 提问者网友:兔牙战士
  • 2021-03-09 05:37
int fun(char *s)
{char *t=s;
while(*t++);
return(t-s);
}
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-03-09 05:54
B
当 *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' 二字符串长度不包括
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯