c语言的问题 tk130改错

来源:百度知道 编辑:UC知道 时间:2024/07/02 13:51:05
下面程序中的sub函数的功能是:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。
例如,当s所指字符串的内容为“ABCD”时,
t所指数组中的内容为“DCBAABCD”。
请改正函数sub中的两个错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,
也不得修改程序的结构。
#include "stdio.h"
#include "conio.h"
#include "string.h"
void sub( char *s, char *t )
{
int i, d;
d=strlen( s );
for( i=1; i< d ; i++ )
t[i]=s[d-1-i] ;
for( i=0; i<d; i++ )
t[d+i]=s[i] ;
t[2*d]='/0' ;
}
main( )
{
char s[100], t[100];
clrscr( ) ;
printf( " \n Please enter string S : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
}

#include "stdio.h"
#include "conio.h"
#include "string.h"
void sub( char *s, char *t )
{
int i, d;
d=strlen( s );
//for( i=1; i< d ; i++ )//应从0开始
for( i=0; i< d ; i++ )
t[i]=s[d-1-i] ;
for( i=0; i<d; i++ )
t[d+i]=s[i] ;
//t[2*d]='/0' ; //符号错误
t[2*d]='\0' ;
}

void main( )
{
char s[100], t[100];
//clrscr( ) ;
printf( " \n Please enter string S : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
}