void main() {char *a="abcdefgh"; fun(a); puts(a); } void fun(char*s) { int x=0,y; char c;#include#includevoid main(){char *a="abcdefgh";fun(a);puts(a);}void fun(char*s){\x05int x=0,y;\x05char c;\x05for(y=strlen(s)-1;x
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 10:31:10
![void main() {char *a=](/uploads/image/z/3990194-26-4.jpg?t=void+main%28%29+%7Bchar+%2Aa%3D%22abcdefgh%22%3B+fun%28a%29%3B+puts%28a%29%3B+%7D+void+fun%28char%2As%29+%7B+int+x%3D0%2Cy%3B+char+c%3B%23include%23includevoid+main%28%29%7Bchar+%2Aa%3D%22abcdefgh%22%3Bfun%28a%29%3Bputs%28a%29%3B%7Dvoid+fun%28char%2As%29%7B%5Cx05int+x%3D0%2Cy%3B%5Cx05char+c%3B%5Cx05for%28y%3Dstrlen%28s%29-1%3Bx)
void main() {char *a="abcdefgh"; fun(a); puts(a); } void fun(char*s) { int x=0,y; char c;#include#includevoid main(){char *a="abcdefgh";fun(a);puts(a);}void fun(char*s){\x05int x=0,y;\x05char c;\x05for(y=strlen(s)-1;x
void main() {char *a="abcdefgh"; fun(a); puts(a); } void fun(char*s) { int x=0,y; char c;
#include
#include
void main()
{char *a="abcdefgh";
fun(a);
puts(a);
}
void fun(char*s)
{
\x05int x=0,y;
\x05char c;
\x05for(y=strlen(s)-1;x
void main() {char *a="abcdefgh"; fun(a); puts(a); } void fun(char*s) { int x=0,y; char c;#include#includevoid main(){char *a="abcdefgh";fun(a);puts(a);}void fun(char*s){\x05int x=0,y;\x05char c;\x05for(y=strlen(s)-1;x
问题在于,你调用fun函数传入的是一个常量串地址,常量串是存放在进程空间的堆中的常量区,是不能修改的.同时fun函数应该在main函数前声明一下,代码应该改为:
#include
#include
void fun(char*s);
void main()
{char a[]="abcdefgh"; /---------------------------/
fun(a);
puts(a);
}
void fun(char*s)
{
\x05int x=0,y;
\x05char c;
\x05for(y=strlen(s)-1;x