这题C语言怎么改?急急急!!!感谢。

记录并分析以下程序运行结果。
#include <stdio.h>
char *strc(char *s1,char *s2)
{ char *p=s1;
while(*s2!='\0') *p++=*s2++;
return s1;
}
main()
{ char s1[30]="computer ok!",s2[]="language",*pt;
pt=strc(s1,s2);
printf("%s\n",pt); /* 第10行 */
}
将程序第10行中的%s改成%c,应该怎样修改?(只允许修改第10行)
请给我一个完整的程序,以便于我直接复制操作,我不懂C语言。

第1个回答  2014-05-24
#include <stdio.h>
char *strc(char *s1,char *s2)
{ char *p=s1;
while(*s2!='\0') *p++=*s2++;
return s1;
}
main()
{
char s1[30]="computer ok!",s2[]="language",*pt, i;
pt=strc(s1,s2);
for (i = 0; *(pt + i) != '\0'; i++) {
printf("%c",*(pt + i)); /* 第10行 */
}
printf("\n");
}
此程序可直接完全代替你上述代码, 使用时直接复制即可; 单独只修改 第 10 行 代码绝对不能实现用%C打印字符串的功能, %C 只能打印一个字符; 加for 循环可实现连续打印;本回答被网友采纳
第2个回答  2014-05-23
for(int i=0;*(pt+i)!='\0';i++) printf("%c",*(pt+i));
第3个回答  2014-05-23
前面挤个for循环可以不
第4个回答  2014-05-23
上面返回不应该是 p 吗?
相似回答