这个程序那里出问题了

hello0world 2007-12-11 04:29:48
#include<stdio.h>
int main()
{
char str1[]="fdsfxcvdfger",str2[20];
char *p1,*p2;
int i,n=0,m,j=0;
p2=str2;
p1=str1;
for(i=0;str1[i]!='\0';i++)
{
printf("%c",str1[i]);
n++;
}
printf("\n");
printf("%d\n",n);
printf("input a number:");
scanf("%d",&m);
while(j<m-1)
{
j++;
p1++;
}
for(;*p1!='\0';p1++,p2++)
*p1=*p2;
*p2='\0';
for(i=0;str2[i]!='\0';i++)
printf("%c",str2[i]);
}
复制字符串,不过只是复制一部分
从那里开始复制,受输入数字的控制
这个程序找半天都没找到错误
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
葫芦鬼 2007-12-11
  • 打赏
  • 举报
回复
p2指针没有初始化赋值给了P1
hello0world 2007-12-11
  • 打赏
  • 举报
回复
愚蠢啊愚蠢
hello0world 2007-12-11
  • 打赏
  • 举报
回复
晕了
大意了
真是大意了
低级错误啊
tcxjia 2007-12-11
  • 打赏
  • 举报
回复
给你一座金山不如教你点金术
遇到这样的问题就多测试多分析,看问题出在哪条语句上.
ckt 2007-12-11
  • 打赏
  • 举报
回复
用strcpy不是更快
NKLoveRene 2007-12-11
  • 打赏
  • 举报
回复
int main(int argc, char* argv[])    
{
char str1[]="fdsfxcvdfger",str2[20];
char *p1,*p2;
int i,n=0,m,j=0;
p2=str2;
p1=str1;
for(i=0;str1[i]!='\0';i++)
{
printf("%c",str1[i]);
n++;
}
printf("\n");
printf("%d\n",n);
printf("input a number:");
scanf("%d",&m);
while(j <m-1)
{
j++;
p1++;
}
for(;*p1!='\0';p1++,p2++)
*p2=*p1;
*p2='\0';
for(i=0;str2[i]!='\0';i++)
printf("%c",str2[i]);

return EXIT_SUCCESS;
}
hai040 2007-12-11
  • 打赏
  • 举报
回复
for(;*p1!='\0';p1++,p2++)
*p2=*p1;

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧