首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求分析代码异常

2013-11-23 
求分析代码错误#includestdio.hvoid reverseword(char *str)int strlen(const char *str)int strlen(c

求分析代码错误
#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;
}
[解决办法]
char *str="I am a student!";这个字符串是常量,不能修改,可以改成:char str[] = "I am a student!";
[解决办法]
非法访问内存
只因为你这样第定义了
char *str="I am a student!";
str指向一个字符串常量
无法被修改
char str[]="I am a student!";
这样就行了  

热点排行