编译后没东西是怎么肥4???
本帖最后由 Rem-LD 于 2018-12-16 18:22 编辑#include <stdio.h>
void main()
{
char *a = "I love laola.";
char b[] = "I am laola.";
char *p = b;
for(; *a != '\0'; a++,p++)
{
*p = *a;
}
*p = '\0';
printf("%s\n", a);
printf("%s\n", b);
} 代码就打错了呀,循环里面没有右回括吧!仔细检查一下 lemon3 发表于 2018-12-16 18:17
代码就打错了呀,循环里面没有右回括吧!仔细检查一下
这个是粘贴错了,那个去掉还是错的 #include <stdio.h>
void main()
{
char *a = "I love laola.";
char b[] = "I am laola.";
char *p = b;
for(; *a != '\0'; a++,p++)
{
*p = *a;
printf("%c", *p);
}
*p = '\0';
printf("%s\n", b);
}
我觉得你的想法是用两种方法输出对吧!?
你的代码中第一种a是一个地址呀!怎么能当做输出呢!? lemon3 发表于 2018-12-16 18:38
#include
void main()
这个我是想把字符串a复制覆盖字符串b,如果把中间的东西注释掉是能编译的,就像下面这样
#include <stdio.h>
void main()
{
char *a = "I love laola.";
printf("%s\n", a);
}
上面这个是对的 数组越界-------- "I love laola."字符串比"I am laola."字符串长,所以数组越界,访问权限受限
哦哦刚刚没注意你要干嘛,楼上正解
页:
[1]