永发信息网

C语言字符串函数问题。

答案:2  悬赏:20  手机版
解决时间 2021-04-04 09:24
我在《C Primer Plus(第五版)中文版》遇到一个无法理解之处,以下是精简版原文。
=====================================
char * strblk (char * string){
string++;
return string;
}
下面是第二种方案,它防止函数修改字符串,但是允许使用返回值来修改字符串。表达式(char * )string被称为“使用指派类型取消const”。
char * strblk (const char * string){
string++;
return (char *) string;
}
=====================================
令我不明白的是:无论是哪个方案,函数都没有修改字符串,仅仅是改变了string的指针。
所以我无法理解,请指教。
最佳答案
下面是第二种方案,它防止函数修改字符串。

注意防止两个字,就是说明这个函数里不需要修改字符串。它的本意是告诉你,如果你在写一个函数时不会修改它的内容,最好使用 const 来定义,就算你不小时改到了内容,编译的时候会报错告诉你错误的修改了,仅仅是为了禁止在函数内修改而已
全部回答
strcmp 和 strncmp 是字符串比较的函数,如果返回值等于0表示两个字符串相等。 strcmp 是比较整个字符串 strncmp 是比较两个字符串中的指定长度,因此多一个参数n
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
台儿庄城内吃饭贵吗?
请问Android有没有类似超级矿工的游戏?
汤旺河火车站到汤旺河国家森铃公园多远
睡觉时有时腿会不自觉的抖动,控制不了,影响
锦阳造型在哪里啊,我有事要去这个地方
不要嫉妒别人的句子,人不要嫉妒人在别人面前
为什么女友一不开心就找我的事,电话也不接短
请问镇江有中政教育培训机构吗?
赛尔号2海市蜃楼什么时候是白天
益阳有什么特产小吃,湖南土特产有哪些
单选题English __________ in our
招聘笔试中什么叫海笔?
上古卷轴5里全部三本的上古卷轴代码
Stevie Wonder的音乐风格是?
建国以来的“熊猫外交” 这样合适吗
推荐资讯
什么是混凝土开仓
单选题______mayhaveachancetobesuccessfu
恍然大雨的成语
请问施耐德135/4和135/3.5哪个成像更
单选题英国科学家罗伯特?虎克在观察软木薄片
正在行驶的汽车,如果作用在汽车上的一切外力
20-40MM机炮可以打烂坦克吗?
股票公告说不限于出售资产是利好吗
高一你们老师推荐什么资料好
张掖以畜牧业为主要产业的县(区)是A.高台县
郭德纲 探清水河 mp3
多谢大家的祝福的句子,祝福前男友的一段话 伤
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?