永发信息网

C语言字符串函数问题。

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

注意防止两个字,就是说明这个函数里不需要修改字符串。它的本意是告诉你,如果你在写一个函数时不会修改它的内容,最好使用 const 来定义,就算你不小时改到了内容,编译的时候会报错告诉你错误的修改了,仅仅是为了禁止在函数内修改而已
全部回答
  • 1楼网友:走死在岁月里
  • 2020-09-09 15:40
strcmp 和 strncmp 是字符串比较的函数,如果返回值等于0表示两个字符串相等。 strcmp 是比较整个字符串 strncmp 是比较两个字符串中的指定长度,因此多一个参数n
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯