69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
// 复制i am a boy 到 b[20]中
void main ()
{
char *a="i am a boy";
char b[20];
int i;
for (i=0;*(a+i)!='/0';i++)
//for (i=0;*(a+i)=='/0';i++) ..靠,应该为假才跳出。错了。
*(b+i)=*(a+i);
// 错 了! 因为a的 \0 时候跳出了! 所以没复制, 导致可怜的b没结尾。。。e了一下出错了。
//这时候就要用到循环时候常考的东西了。。。 i++ 后价值已经变了。
*(b+i)='\0';
printf ("%s",b);
}
#include <stdio.h>
int main ()
{
char *a="i am a boy";
char b[20]; int i;
for (i=0;*(a+i)!='\0';i++) /*看清楚这里改了什么*/
*(b+i)=*(a+i);
*(b+i)='\0';
printf ("%s",b);
return 0;
}