求助~这个题怎么做。。。
若有以下程序#include<stdio.h>main(){chara[20],b[]="Theskyisblue.";inti;for(i=0;i<7;i++)scan...
若有以下程序
#include <stdio.h>
main()
{ char a[20], b[ ]="The sky is blue."; int i;
for (i=0; i<7; i++) scanf ("%c",&b [i]);
gets(a);printf("%s%s\n",a,b);
}
执行时若输入:(其中<Enter>表示回车符)
Fig flower is red. <Enter>
则输出结果是( )
A)wer is red.Fig flo is blue.
B)Fig flower is red.The sky is blue.
C)wer is red.The sky is blue.
D)wer is red.Fig flo 展开
#include <stdio.h>
main()
{ char a[20], b[ ]="The sky is blue."; int i;
for (i=0; i<7; i++) scanf ("%c",&b [i]);
gets(a);printf("%s%s\n",a,b);
}
执行时若输入:(其中<Enter>表示回车符)
Fig flower is red. <Enter>
则输出结果是( )
A)wer is red.Fig flo is blue.
B)Fig flower is red.The sky is blue.
C)wer is red.The sky is blue.
D)wer is red.Fig flo 展开
1个回答
展开全部
A答案,for循环改变了b[0]到b[6]The sky is blue.变为Fig flo is blue.
而剩下的wer is red.还在缓存中,执行gets(a)时会把wer is red.读到a中。
所以结果为wer is red.Fig flo is blue.
而剩下的wer is red.还在缓存中,执行gets(a)时会把wer is red.读到a中。
所以结果为wer is red.Fig flo is blue.
追问
怎么看出来Fig flo取代了The sky的,从循环里我只能看到前面的地址被取了。。。
追答
for (i=0; i<7; i++) scanf ("%c",&b [i]);
看不懂么?
输入到b[i]中去了,不就是改b[i]么!!!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询