C语言请大佬解答下面这个程序是怎么运行的?输入-125

 我来答
White_MouseYBZ
2019-08-08 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6487万
展开全部

主函数中输入-125后打印出-号,然后将-125取绝对值,用125调用函数fun——

  1. k==2,用2去除125余1,所以r=125%2中r为1。由于!1为0,所以跳过while循环进入for下一次循环。

  2. k==3,用3去除125余2,所以r=125%3中r为2。由于!2为0,所以再跳过while循环进入for下一次循环。

  3. k==4,用4去除125余1,所以r=125%4中r为1。由于!1为0,也跳再过while循环进入for下一次循环。

  4. k==5,用5去除125余0,所以r=125%5中r为0。由于!0为1,所以执行while循环体:先打印出5(k的值),再n=n/k==125/5=25;由于25>1则再打印出*号。这一循环结果输出是5*。下面r=n%k即r=25%5==0,而!0为1,所以进入while第二次轮循环。

  5. 第二次while循环中先打印出5(k的值),再n=n/k即n=25/5==5,并打印*号,屏幕显示5*5*。

  6. r=n%k即r=25%5==0,!0==1,所以再次进入while循环体:打印5,n=n/k即n=5/5==1,由于n>1不再成立,所以不再打印*号。这时屏幕显示5*5*5。

  7. 下面n=n%k即n=1%5==1,而!1==0,所以退出while循环进入for循环

  8. 这时k==5,而sqrt(n)即sqrt(1)==1,显然5<1不成立而退出for循环。

  9. 最后因n==1而这执行print退出fun函数(最后那句输出是解决n是质数的)。

  10. 由于主函数中先打印了-号,所以最后显示结果是-5*5*5。

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式