C语言中用函数处理字符串问题
发布网友
发布时间:2022-04-22 10:39
我来回答
共5个回答
热心网友
时间:2023-10-11 02:11
你声明的string是一个只能被读取但不能被修改的字符串常量,你的程序没有错误,但你应该这样改动,char string[100];这样的话,你的Clean就没有问题了,不过建议把空格替换成'\0',这样能避免很多问题。
返回字符串的函数的思路:
1,在函数内建立一个字符数组Temp
2,按位为字符数组Temp赋值
3,返回Temp的首地址
4,在主函数中将Temp的值复制给一个数组。
热心网友
时间:2023-10-11 02:12
直接第一个字符为0(不是字符0,是int的0)即可
要是全部为零的话,可以for一下赋值即可
函数strstr应该可以实现你下面那个函数的功能
其实你可以自己编写,用循环,找到那个字串,返回字串的首个字符的地址即可
热心网友
时间:2023-10-11 02:12
char *string; //定义一个字符指针
string="I am a student"; //指针指向了一个常量
你的代码里,指针指向了一个常量,实际的想被Clear的内容,是那个常量字符串,而常量数据是无法被修改。
应该这样做:
char string[] = {"I am a student"}; //定义一个字符串(不是指针),字符串初始化数据是从一个常量字符串中复制过来的。
这样,Clear的时候,被Clear的是你定义的字符串,而不是那个常量字符串了。
热心网友
时间:2023-10-11 02:13
不要那么麻烦吧,直接strcpy(string,'\0')不就行了。。。而且,大兄弟,' '(空格)并不是空。。'\0'才是空。而且指针最好不要直接用a++这种操作。他也许不行是你想象中的那个意思。。
热心网友
时间:2023-10-11 02:14
首先:将字符创置空,应该是置为\0不是空格
然后:string是放在只读存储区的,不能通过string这个变量来更改其中的内容
最好不要用指针++这个动作,指针指向的位置移动了,可能会引起注入释放内存的不便等。