吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 902|回复: 14
收起左侧

[已解决] C语言编程题求助

[复制链接]
先有我后有天 发表于 2021-11-18 15:59
这个函数功能是将一个整数存放到数组中,存放时按逆时针存放。但是这个递归里面的(a++,a--)参数有点看不懂
QQ截图20211118155609.png
#include "stdio.h"

void convert (char *a,int n)
{
    int i;
    if((i=n/10) !=0)
        convert((a++,a--),i);//

    *a= n%10+'0';//
}
char str[10]="    ";
main()
{
    int number=12345;
    convert(str,number); //
    puts(str);
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

chill66 发表于 2021-11-18 16:12
这是C语言自增(++)和自减(--),自增自减完成后,会用新值替换旧值,将新值保存在当前变量中。
yacc 发表于 2021-11-18 16:18
感觉是装X的写法,这种括号+逗号的就是前面都运行一遍,然后返回最后一项的结果,比如
[C] 纯文本查看 复制代码
b = (a++,a--);

应该等价于
[C] 纯文本查看 复制代码
a++;
b = a;
a--;

就是返回a+1然后把a还原。可能是指针操作的习惯写法?但是没见过的话确实可读性要低一些
PaoPaoCao 发表于 2021-11-18 16:18
yacc 发表于 2021-11-18 16:20
但是习惯写法好像也不像,你把(a++,a--)直接换成a+1,看看效果有区别没
 楼主| 先有我后有天 发表于 2021-11-18 16:21
chill66 发表于 2021-11-18 16:12
这是C语言自增(++)和自减(--),自增自减完成后,会用新值替换旧值,将新值保存在当前变量中。

这个我懂,但是不知道这函数参数里面这样写是什么意思,有什么意图,有什么作用
 楼主| 先有我后有天 发表于 2021-11-18 16:22
yacc 发表于 2021-11-18 16:20
但是习惯写法好像也不像,你把(a++,a--)直接换成a+1,看看效果有区别没

结果和没改的结果一样,果然就是装逼写法?

点评

不明觉厉,不知道有没有其他的考虑  详情 回复 发表于 2021-11-18 16:26
yacc 发表于 2021-11-18 16:26
先有我后有天 发表于 2021-11-18 16:22
结果一样,果然就是装逼写法?

不明觉厉,不知道有没有其他的考虑
 楼主| 先有我后有天 发表于 2021-11-18 16:27
yacc 发表于 2021-11-18 16:26
不明觉厉,不知道有没有其他的考虑

结果一样就行,也是第一次见这种写法

点评

哥们解决了问题可以改下分类,方便看帖,先帮你分类了  详情 回复 发表于 2021-11-18 17:09
tiancaiashuai 发表于 2021-11-18 16:36
昨天刚学习前置递增和后置递增,后置递增先运算表达式,再自加1,前置 递增刚好相反。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:21

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表