以下程序运行后输入:3,abcde<回车>,则输出结果是______。
#include <string. h>
move (char *str,int n)
char cemp; int i;
temp=str[n-1];
for (i=n-1;i>0;i--) str[i]=str[i-1);
str[0]=temp;
main()
char s[50]; int n, i, z;
scanf(“%d,%s”,&n,s);
z=strlen(s);
for (i=1; i<=n;i++)move (s,z);
printf(“%s\n”,s);
参考答案:cdeab
解析: 本题考核的知识点是基本算法的应用和程序的综合分析。从分析知道move()函数的作用,是将形参str所指的数组依次向后左移一位, 即让该数组第一个元素的值等于第二个元素的值,接着让第二个元素的值等于第三个元素的值,直到该数组最后第二个元素的值等于最后一个元素的值,然后让第一个元素等于最后一个元素的值。主函数中用了一个for循环调用move()函数,共循环三次。当i=1时,第一次调用move()函数,使输入到数组的s的字符串“abcde”变为“eabcd”,当i=2时,第二次调用move()函数,使字符串“eabcd”变为“deabc”,当i=3时,第三次调用move()函数,使字符串“deabc”变为“cdeab”,故最后输出的值为“cdeab”,故该空格处应该填“cdeab”。