十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这可能是一个自定义遥函数,你完整的看一下代码前头部分,应该可以找到函数的声明部分。或者查由h #include 引入的.h 文件再找一找;
成都网站建设哪家好,找创新互联公司!专注于网页设计、成都网站建设、微信开发、小程序设计、集团企业网站设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都iso认证等众多领域,积累了大量丰富的经验,同时也获得了客户的一致认可!
看到函数的实现部分后,才好推测具体功能是什么
用one,three两个变量的值作为参数,调用move函数。
move函数在程序最后定义了,其作用就是按一定的格式在屏幕上输出显示两个参数的值。
输出结
果:cdeab
分析:只要你理解了move函数的作用你就能明白整个过程:
第一次循环调用move(char
*str,int
n)这一函数给它的参数是
s与
s的长度(就是你输入的abcde的长度5),第一步执行temp=str[5-1]=str[4],而str[4]的值为'e',所以temp的值为'e',接着执行for(i=n-1;
i0;i--)
str[i]=str[i-1];
这个循环是把从str[1]开始的所有数组的元素都后移一位,
即str[2]成了str[1],str[3]成了str[2]等等,循环执行完后执行str[0]=temp;,也就是把e赋值给了
str[0]。所以abcde被move函数处理一次后就成了
eabcd,如果再被处理一次后就被变成deabc等等
也就是说move函数每调用一次就把相应的字符串循环右移一位
/* 第一部分 */
#include stdio.h
/* 函数声明 */
void move (int[], int, int );
/* 程序入口 */
int main (void )
{
int a[100],
n,
m,
i;
printf ("本程序用于把数组中的前n位元素循环右移m个单位,并打印结果。\n");
printf ("请输入n的值:\n");
scanf ("%d", n);
printf ("请依次设置数组前%d个元素:\n", n);
for (i = 0; i n; i++)
{
scanf ("%d", a[i]);
}
printf ("请设置要循环右移的位数m:\n");
scanf ("%d", m);
/* 打印循环右移前的数组前n个元素 */
printf ("原数组:\n");
for (i = 0; i n; i++)
{
printf ("%d", a[i]);
}
/* 循环右移 */
move (a, n, m);
printf("\n循环右移%d位:\n", m);
/* 打印循环右移后的数组前n个元素 */
for (i = 0; i n; i++)
{
printf ("%d", a[i]);
}
return 0;
}