如果放在一起,函数fun改变了数组内存放的字符的顺序,输出的都会是倒置以后的字符串。不能将fun(a),作为参数输出。因为函数fun的返回值并不是倒置以后的字符串,而仅仅是整数1。
创新互联公司于2013年开始,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元南阳做网站,已为上家服务,为南阳各地企业和个人服务,联系电话:18982081108
includestdio.h includestring.h int main(){ char c[100];gets(c); //从键盘输入字符串。strrev(c); //库函数,将字符串倒排。
cinstr; // 输入字符串// n=str.size(); //读出字符串个数// for(i=0;in/2;i++) //判断语句,把最后一个给第一个,第一个再给回最后一个以此类推。
a=a+b+c+d=00000000hhhh0000+llll000000000000+0000LLLL00000000+000000000000HHHH=llllLLLLhhhhHHHH 以上H、h、L、l和1都是二进制的一位。
如果只是要求逆序输出,那么可以采用类似的方法:void reverse(char *s){ if(*s==\0)return;reverse(s+1);printf(%c,*s);} 这种方法在s很长的情况下会一直递归到底,不是很好。
采用函数进行字符串逆序输出,过程为:定义函数,参数为字符串指针 定义局部变量指针t指向原字符串 移动t指针到字符串尾 向移动t指针,直到回到原指针头,输出各位置字符。
这是一个将输入的字符串逆序输出的方法。借签一下。
只需将字符串的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,直到字符串长度一半时,就完成倒序了。切记不要全部倒序,不然又恢复成原字符串了。
1、程序本身并没有错,你具体可以实际操作一下。
2、只需要将字符数组的前后数据进行交换就行了。
3、整体出来的程序代码完全是正常的,并没有错。那个输出语句不可以移动到if语句的外面的。这个函数是当没到换行符的时候,把已经读到的字符放到系统栈中,然后进行递归调用。