#include <stdio.h>#include <stdlib.h>int main(voID){ //char s[6] = {'h','e','l','o','char s[6] = {'h',''}; char *s = "hello"; int i=0,m; char temp; int n = strlen(s); //s[n] = 'char *s = "hello";'};char *s = "hello";char s[] = "hello";'; while (i<(n/2)) { temp = *(s+i); //uses the null character as the temporary storage. *(s+i) = *(s+n-i-1); *(s+n-i-1) = temp; i++; } printf("rev string = %s\n",s); system("PAUSE"); return 0;}
在编译时,错误是分段错误(访问冲突).请告诉我们两个定义有什么区别:
解决方法 您的代码尝试修改C或C中不允许的字符串文字如果您更改:至:
那么你正在修改数组的内容,文本已被复制到该数组中(相当于用单个字符初始化数组),这是可以的.
总结以上是内存溢出为你收集整理的分段错误逆转字符串文字全部内容,希望文章能够帮你解决分段错误逆转字符串文字所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)