C代码运行不了
#include<stdio.h>
#include<string.h>
void stringcat(char *ch,char *c);
void main(){
char *ch="Hello World!",c[] = "Writing in C!";
stringcat(ch,c);
}
void stringcat(char *ch,char *c){
puts(strcat(ch,c));
}
可以看我的百度提问:
http://zhidao.baidu.com/question/389196437.html?quesup2&oldq=1
[解决办法]
char *ch="Hello World!"//这样定义是个常量,不能进行修改的
[解决办法]
char ch[64]="Hello World!",c[] = "Writing in C!";
[解决办法]
char *ch="Hello World!",
是这个地方的问题,这个地方默认可能只分配数组存放Hello World这么大的空间,后面再将Writing in C!写入,即会出现错误。
把程序改成类似下面这样的,就没问题了。
#include<stdio.h>#include<string.h>void stringcat(char *ch,char *c);void main(){ char ch[50]="Hello World!",c[] = "Writing in C!"; stringcat(ch,c); //system("pause");}void stringcat(char *ch,char *c){ puts(strcat(ch,c));}