C程序找错,急啊
设计InsertData(char *s,T n,int start=1),将数据n(可以是数值型数据或字符串)插入到字符串s的位置start处(位置编号从1开始计数)。
#include"stdio.h"
void InsertData(char *s,int n,int start);
void main()
{
char s[]="i love you";
int start=3,n;
printf("enter n:");
scanf("%d",&n);
InsertData(s,n,start);
}
void InsertData(char *s,int n,int start)
{
char *p,*p1,*p2,s1[100],s2[100];
int i,i1,j,m[100],flag;
i=0;
do
{
m[i++]=n%10;
n/=10;
}while(n!=0);
i1=i-1;
for(j=0;j<=i-1;j++)
s1[j]=(char)m[i1--]+48;
s1[j]='\0';
p1=s1;
p2=s2;
p=s;
flag=1;
while(flag<start)
{
flag++;
p++;
}
while(*p!='\0')
*(p2++)=*(p++);
*p2='\0';
p=s;
flag=1;
while(flag<start)
{
flag++;
p++;
}
while(*p1!='\0')
*(p++)=*(p1++);
p2=s2;
while(*p2!='\0')
*(p++)=*(p2++);
*p='\0';
printf("%s",s);
}
运行错误:
http://wenwen.