#include "stdio.h" void main() {int j; for(j=10;j>3;j--) { if(j%3) j--; --j; --j; } pri
答案:4 悬赏:60 手机版
解决时间 2021-02-22 09:46
- 提问者网友:做自己de王妃
- 2021-02-21 16:54
谁能帮我详细解释一下程序的运行过程
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-02-21 18:09
for(j=10;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
}
首先执行这个循环,让j可以被3整除的时候,需要减一,然后继续执行后面的两个减一.j的值是10->8->6->3此时条件不符合了,然后跳出循环,输出3
{
if(j%3)
j--;
--j;
--j;
}
首先执行这个循环,让j可以被3整除的时候,需要减一,然后继续执行后面的两个减一.j的值是10->8->6->3此时条件不符合了,然后跳出循环,输出3
全部回答
- 1楼网友:风格不统一
- 2021-02-21 20:45
//代码功能注释如下: #include<stdio.h> #include <unistd.h> int main() { int i, j=2; if((i=fork())==0) { //子进程执行 j++; } else{ //父进程执行 j--; } printf("%d",j); return 0; } fork==0时表示是子进程。 这里的变量j,在fork之后,父子进程都是独立拥有一个j变量的, 所以输出可能是 13 也可能是31, 通常是13,父进程没有wait子进程速度较快,先退出了。
- 2楼网友:渡鹤影
- 2021-02-21 19:08
#include
void main()
{
int j;
for(j=10;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
}
printf("%d",j);
}
从程序入口main()开始执行,执行第一条语句int j;定义一个变量j。然后执行第二条for语句,首先j=10;给j赋了初值10,
判断j>3是否成立,此时j=10,所以成立,执行if(j%3)判断j能否被3整除,如果不能被3整除,也就是%后余数不是0,那么
if的条件成立,执行j--;由于此时j=10不能被3整除,所以执行j--(后置减);之后j=9,继续执行下边的语句--j;--j;后j=7,
再执行for中的第三个表达式j--,此时j=6,接下来判断j>3是否成立,此时j=6,成立,执行if(j%3)此时j=6,所以j%3的结果为0,
也就是条件为假,不执行j--;继续执行下边的语句--j;--j;...#include
void main()
{
int j;
for(j=10;j>3;j--)
{
if(j%3)
j--;
--j;
--j;
}
printf("%d",j);
}
从程序入口main()开始执行,执行第一条语句int j;定义一个变量j。然后执行第二条for语句,首先j=10;给j赋了初值10,
判断j>3是否成立,此时j=10,所以成立,执行if(j%3)判断j能否被3整除,如果不能被3整除,也就是%后余数不是0,那么
if的条件成立,执行j--;由于此时j=10不能被3整除,所以执行j--(后置减);之后j=9,继续执行下边的语句--j;--j;后j=7,
再执行for中的第三个表达式j--,此时j=6,接下来判断j>3是否成立,此时j=6,成立,执行if(j%3)此时j=6,所以j%3的结果为0,
也就是条件为假,不执行j--;继续执行下边的语句--j;--j;后j=4,再执行for中的第三个表达式j--,此时j=3,接下来判断j>3是否成立,
此时j=3,所以j>3不成立,跳出for循环,执行printf("%d",j);输出3,结束。
- 3楼网友:归鹤鸣
- 2021-02-21 18:58
j=10
if(j%3) 逻辑条件判断为真 j=9; j=8; j=7; 循环控制 j=6;
j=6
if(j%3) 逻辑条件判断为假 j=5; j=4; 循环控制 j=3;
j=3时循环结束
输出 3
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯