C语言小程序改错

作业要求: 在作业文件夹:("E:尀homework尀03150122")下,给定程序MODI.C的功能是: 先将在字符串s中的字符按逆序存放到t串中,然后 把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:"ABCDE"时, 则t中的字符串应为:"EDCBAABCDE"。 请修改并运行该程序,然后将源程序文件MODI.C提交。 程序中有两处错误,错误都在提示行: /***********found***********/的下面一行,请考生注意。 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行 或删行,也不得更改程序的结构! #include <stdio.h>#include <string.h>main(){ char s[80], t[80]; /************found************/ int i; printf("尀nPlease enter string s:"); scanf("%s", s); len = strlen(s); for (i=0; i<len; i++) /************found************/ t[i] = s[len-i]; for (i=0; i<len; i++) t[len+i] = s[i]; t[2*len] =0; printf("The result is: %s尀n", t); }
2026年09月22日 20:05
有1个网友回答
网友(1):

#include
#include
void main()
{ char s[80], t[80];
/************found************/
int i;
printf("\nPlease enter string s:"); scanf("%s", s);
int len = strlen(s);//len缺少定义
for (i=0; i /************found************/
t[i] = s[len-i-1];//逻辑错误,t的首字符为0,
for (i=0; i t[len+i] = s[i];
t[2*len] =0;
printf("The result is: %s\n", t);
return;
}