能给我解释一下每条代码吗,不太懂c

 我来答
xiuluot
2016-11-08 · TA获得超过851个赞
知道小有建树答主
回答量:599
采纳率:66%
帮助的人:183万
展开全部

【这段程序算是在c++里面的写的c】

主要学过c,每一行代码 不难理解吧。难理解的是整个逻辑。。。

运行结果是一个 列举 的排列组合

在输出abc ,acb的时候,你理解没?

1,主循环第一次    ps->abc

程序一开始pc,pb同时是从是指向ps的首地址。这样一轮下去,pc,pb都是同步的,所以此地输出的时候,它们等于没有交换值。so 第一次输出为abc。


跳出最里层的那层循环后,这个时候,pb->bc  pc->bc 由于pc自加了一次,那么pc->c,pb->bc  所以会交换值。那么这个时候等于pc->b ,pb->cb 。指针指向值得修改,会修改原始的值,其实到这个时候ps->acb 。然后就输出 acb。然后天跳出这个Permutation函数,最后再通过下面的操作

temp=*pb;

*pb=*pc;

*pc=temp; 把ps再变成原来的 ps->abc;

第一次主循环结束, 输出结果为abc,acb.

2,主循环第二次   ps->abc

由于++pc  自加了一次。这个时候,pb->abc   而pc已经变成了 pc->bc。

执行下来一次,ps就会变成  ps->bac 。然后和上面的逻辑一样,就会输出

bac,bca. 最后通过变换,又使ps变为abc ,ps->abc。


3,主循环第三次 ps还是指向abc ,

这个时候一开始,pb->abc 。pc->c;

然后通过替换ps->cab。 输出cab ,cba 。然后又替换回来,ps->abc。


  这个应该是封装的函数吧!写精辟呀!我说了,也许一开始你也理解不了。自己去调试,看每一个步骤的数值变化,就会慢慢理解了。程序到深处,其实就看算法,看数学逻辑。这就是为么,那些从计算机学校毕业滴,虽然一开始工资比较高,都是后续发展不的原因。敲代码,只要学那么几哈,基本都能敲【农民工】。。。但是要设计高级点的代码,就需数学逻辑了。

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
heart_飞翔
2016-11-08
知道答主
回答量:18
采纳率:0%
帮助的人:8.7万
展开全部
这段代码执行后应该什么也不会显示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式