题库 题库

【简答题】

下列给定程序中,函数p roc()的功能是:先将字符串s 中的字符按顺序存放到t中,然后把S中的字符按正序连接到t的后面。例如,当s中的字符串为WXYZ时,则t中的字符串应为WXYZWXYZ。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
#include
void proc(char*s,char*t)
{
int i,s1;
s1=strlen(s);
for(i=0;i<S1;I++)
//****found****
t[i]=s[s1];
for(i=0;i<S1;I++)
t[s1+i]一s[i];
t[2*s1]='\O0;
}
void main()
{
char s[100],t[100];
system("CLS");
print{("\nPlease enter string s:");
scanf("%s",s);
proc(s,t);
printf("The result is:%s\n",t);
}

参考答案

错误:t[i]=s[l];正确:t[i]=s[i];

相关试题

单选题 若有以下定义:
char a;int b;
float c;double d;
则表达式a*b+b-c值的类型为( )。
查看答案
单选题 下面程序输出的是( )。
main()
{ int t=l;fun(fun(t));}
fun(int h)
{ static int a[3]={1.2.3};
int k;
for(k=0;k<3;k++)a[k]+=a[k]-h;
for(k=0;k<3;k++)printf("%d",a[k]);
printf("\n");
return(a[h]);}
查看答案
单选题 下列程序的输出结果是( )。
#include
main()
{ int i;
for(i=1;i<=10,i++)
{ if((i*i>=20)&&(i*i<=100))
break;
}
printf("%d\n",i*i;
}
查看答案
单选题 以下程序的输出结果是( )。
main()
{ char w[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
查看答案
单选题 若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。 查看答案
单选题 若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是( )。
for(i=6;i>0;i--)
for(j=0;j<4;j++){…}
查看答案
单选题 若有说明“char s1[30]="abc",s2[]="defghi";",则在使用函数stoat(s1,s2)后,结果是( )。 查看答案
单选题 对线性表进行二分法检索,其前提条件是( )。 查看答案
单选题 若有以下的说明和语句,则在执行for语句后,’(*(pt+1)+2)表示的数组元素是( )。
int t[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]= &t[k][0];
查看答案
单选题 定义下列结构体(联合)数组:
struct st
{ char name[15];
int age;
}a[10]={"ZHA0",14,"WANG",15,"LIU",16," ZHANG",17);
执行语句printf("%d,%C",a[2].age,*(a[3].name+ 2))的输出结果为( )。
查看答案
单选题 对如下二叉树进行后序遍历的结果为( )。
查看答案
单选题 下列程序的输出结果是( )。
#include
main( )
{ int i,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
查看答案
单选题 设a=l,b=2,c=3,d=4,则表达式:“a<B?A:B< )。 查看答案
单选题 有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9);
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序执行后的输出结果是( )。
查看答案
单选题 用链表表示线性表的优点是( )。 查看答案
单选题 有以下程序:
fun(int x)
{ int P;
if(x==0 || x==l)return(3);
p=x-fun(x-2);
return p;
}
main()
{printf("%d\n",fun(7));}
程序执行后的输出结果是( )。
查看答案
单选题 有以下程序:
int fun(int x)
{ int p;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return p;
}
main()
{ printf("%d\n",fun(7));}
执行后的结果是( )。
查看答案
单选题 已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字堪的表达式是( )。 查看答案
单选题 以下程序的输出结果是( )。
main()
{int x=0.5;char z='a';
printf("%d\n",(x&1)&&(z<'2'));}
查看答案
单选题 下列程序的运行结果是( )。
#include
void fun(int*S,int*p)
{ static int t=3:
*p=s[t];
t--;
}
void main()
{ int a[]={2,3,4,5),k;
int x;
for(k=0,k<4,k++)
{ fun(a,&x);
printf("%d,",x);
}
}
查看答案