问题
填空题
以下程序运行后输入3,abcde<回车>,则输出结果是 【19】 。
#include<string.h>
move (char *str,int n)
char temp;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()函数的作用,是将形参s仕所指地址的连续n位循环右移1位,即让str[n-1]=str[n-2],str[n-2]=str[n-3],…, str[1]=str[0],str[0]=str[n-1](原)。主函数中用了一个for循环调用move()函数,共循环3次,所以数组s被循环右移了3位,故最后输出的值为cdeab。