从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这可能是一个自定义遥函数,你完整的看一下代码前头部分,应该可以找到函数的声明部分。或者查由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;
}
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图