c语言rev函数,c++ reverse函数

C语言指针程序运行

//经测试,代码运行OK,仅修改1处

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、网站设计、向阳网络推广、微信小程序开发、向阳网络营销、向阳企业策划、向阳品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供向阳建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

#include stdio.h

int a[10]={1,2,3,4,5,6,7}; //全局数组

rev (int *m, int n)  //递归函数,功能是逆转整型数组

{

int t;

if(n1) //如果n大于1则执行操作

t=*m;  //t是中间变量

*m=*(m+n-1); //当前指针所指向的值等于最后1个值

*(m+n-1)=t;  

rev(m+1,n-2); 

//继续递归调用,应为已交换,则指针后移一位,长度减2

}

}

main()

{

int i;

rev(a,7);

for(i=0;i7;i++)   //根据题意,这里应该是7,是10的话会有3个0

printf("%d",a[i]);

printf("\n");

}

rev()在c语言中是啥

左移符号,就是把相关值的二进制位向左移动,结尾补0,比如52就是把5的二进制00000101向左移动2位,结果为00010100

C语言问题

首先你得代码里有语法错误

1.if语句里面的等值判断应使用“==”不是“=”

2.main函数里的打印语句printf("%c",c);多余,此处字符c未定义!

正确代码如下:

void rev(){

char c;

c=getchar();

if(c=='$')

{

printf("%c",c);

}

else

{

rev();

}

}

void main()

{

rev();

}

过程:输入 AB$CDE然后回车

1.main函数调用rev()

2.rev()声明字符c并由getchar()赋值为A

3.if判断不成立,进入else()

4.else()调用rev()

5.rev()声明字符c并由getchar()赋值为B

6.if判断不成立,进入else()

7.else()调用rev()

8.rev()声明字符c并由getchar()赋值为$

9.if判断成立,执行打印,打印出当前c值$

10.然后返回到第7步,执行else()后面的打印语句,打印出当时c值B

11.再返回到第4步,执行else()后打印语句,打印出当时值A

结果为:$BA


当前标题:c语言rev函数,c++ reverse函数
文章来源:http://hbruida.cn/article/hchoch.html