问题
填空题
下面程序是将字符串P中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。 #include<stdio.h> void cp(char *p,char *b) {int i,k=0; while(*p) {i=0; while(______)/*第一空*/ {b[k]=*P; k++;p++;i++; } if(*p) {______;/*第二空*/ } } ______;/*第三空*/ } main() {char a[20],b[20]; gets(a); cp(a,b); puts(b); printf("\n"); }
答案
参考答案:i<3&&*P/*第一空。当复制3个字符后循环终止。注意此处*P并小多余,加入这一项是为了判断前要复制的字符是否为空。*/
解析:b[k++]=’’/*第二空。输入空格,并使k自增1。*/ b[k]=’\0’/*第三空。在字符串末尾加上字符串结束标志。*/