试题与答案

当运行以下程序时,输入abed,程序的输出结果是: 【9】 。 insert(ch

题型:填空题

题目:

当运行以下程序时,输入abed,程序的输出结果是: 【9】
insert(char str[])
int i
i=strlen(str);
while(i>0)
str[2*i]=str[i];str[2*-1]=’*’;i--;
printf("%s\n",str);

main()
char str[40];
scanf("%s",sB) ; insert(str);

答案:

参考答案:a*b*c*d,

解析: 在insert()函数,因为题目要求输入的字符串为abed,所以执行完“i= strlen(str);”后,i中存放的是字符串abcd的长度值4。所以接F来的while循环会循环4次,每次让i减 1,故4次循环中i的值依次为4、3、2、1。每次循环会执行两条语句str[2*i]=str[i];str[2*i-1]=’*’,当i=4时为:str[8]=str[4];str[7==’*’;。执行结果是将字符串abed末尾的结束符’\0’复制到其下标值2倍的位置,并在其前1位插入—个’*’哼符。接下来i=3,执行str[6]=str[3];str[5]=’*’。执行后会将字符串abcd最后一个字符,d复制到其下标值2倍的位置,并在其前1位插入一个’*’字符。依次类推,直到i=1,执行str[2]=str[1]; str[1]=’*’,将字符tb,往后移动了1位,并在原位置插入’*’字符。所以,循环结束后,字符串str会变为 a*b*c*d*。这就是程序的输出结果。

试题推荐
题型:选择题

碱性电池具有容量大、放电电流大的特点,因而得到广泛应用。锌-锰碱性电池以氢氧化钾溶液为电解液,电池总反应式为:Zn(s)+2MnO2(s)+H2O(l)=Zn(OH)2(s)+Mn2O3(s)下列说法错误的是[ ]

A.电池工作时,锌失去电子

B.电池正极的电极反应式为:2MnO2(s)+H2O(1)+2e-=Mn2O3(s)+2OH-(aq)

C.电池工作时,电子由正极通过外电路流向负极

D.外电路中每通过0.2mol电子,锌的质量理论上减小6.5g

查看答案
微信公众账号搜索答案