求分析代码错误

menglongfeihu007 2013-11-22 08:35:49
#include<stdio.h>

void reverseword(char *str);
int strlen(const char *str);

int strlen(const char *str){
int len=0;
while(*str!='\0'){
len++;
str++;
}
return len;
}
void reverseword(char *str){
char *s=str+strlen(str)-1;

while(str<s){
char c=*str;
*str=*s;//Access Violation
*s=c;
str++;
s--;
}
}

int main(){
char *str="I am a student!";
printf("%s\n",str);
printf("字符串的长度是:%d\n",strlen(str));
reverseword(str);
return 0;
}
...全文
37 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
N_Sev7 2013-11-22
  • 打赏
  • 举报
回复
非法访问内存 只因为你这样第定义了 char *str="I am a student!"; str指向一个字符串常量 无法被修改 char str[]="I am a student!"; 这样就行了
farmerwood 2013-11-22
  • 打赏
  • 举报
回复
char *str="I am a student!";这个字符串是常量,不能修改,可以改成:char str[] = "I am a student!";

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧