此程序哪有错啊?

来源:百度知道 编辑:UC知道 时间:2024/06/22 10:50:31
这是一个在字符串的指定位置插入另一个字符串的程序系统老提示出错•Error C:\TC200\CHARUZIF.C 14: Lvalue required in function main
这是什么意思啊
#include "stdio.h"
main()
{char s1[100],s2[100],ch,*p,*q;
gets(s1);
gets(s2);
scanf("%c",ch);
p=s1;
while(*p++!=ch);
while(*s2!='\0')
{q=p;
while(*q!='\0') q++;
while(q>=p)
*(q+1)=*q--;
*++q=*s2++;
p++;
}
puts(s1);
}
各位哥哥姐姐帮帮忙,急用!谢了!

scanf("%c",ch); 改成 scanf("%c",&ch);
while(*p++!=ch); 改成 while(*(p++)!=ch);
*(q+1)=*q--; 改成 *(q+1)=*(q--);

*++q=*s2++; 要改,因为s2的值是静态的(或说是不变的)
前面添上char *k;
k=s2;

while(*s2!='\0') 改成 while(*k!='\0');
*++q=*s2++; 改成 *(++q)=*(k++);