执行以下程序后输出的结果是Main

2020-12-31 15:35:50 字数 4231 阅读 3147

1楼:匿名用户

inti,j,w=0;

for(i=4;i;i--)//退出这个

循环的条件是i=0

for(j=1;j<=2;j++)w=w+i*j;

w=i*j;//i=0;w当然是0printf("%d\n",w);

2楼:小宝

你是说w=i*j那一行吗,这一行在循环语句之外,也就是上面的循环结束后执行的,此时的l应该是0,我觉得你的l循环中判断条件可能没写全?

简单的c语言选择题!以下程序的输出结果是 main() { int i,j,x=0; for(i=

3楼:匿名用户

里面的for循环只有当j=0,2时,才会执行x++,也就是外面的大循环执行一次,里面的for循环执行2次。而外部的大循环一共会执行两次(i=0,1),也就是x++总共执行2x(2+2)=8次

以下程序输出结果是__________。 #include int i=10; main() {int j=1; j=fun(); printf("%d,",j

4楼:匿名用户

首先bai这个i在这里是全du局变量,

那个fun函数执行完了后zhi并不dao释放i也就是一直保留回i的值而不会消失,答

第一次执行fun函数时,k=0+10=10;i=10+10=20;返回k=10的值,这是第一个j=10;

第二次执行fun函数时,k=0+20=20;这个20是i在第一次执行fun函数时,i=i+10这个语句得到的值,一直保留而没有被释放,即消失掉。在第二次执行fun函数时,i的值就是20了。那么k=20就是这么来的,返回k值就是20.

最后输出的两个结果就是 10 20

以下程序的输出结果是 #define min(x, y) (x) < (y) ? (x) : (y) main() { int i , j, k; i = 10; j = 15;

5楼:匿名用户

结果为15。

程序的第一行进行带参宏定义,用宏名min表示条件表达式(x) < (y) ? (x) : (y),形参x,y均出版现在条件表达式中。

权程序中 min(i,j) 为宏调用,实参i,j,将代换形参x,y。

宏后该语句为: 10*(i) < (j) ? (i) : (j),运算结束的结果为15。

宏只是做了简单的替换操作。而函数的参数只在函数调用时求值一次,并将结果传递给函数即可。

define,无参宏定义的一般形式为:#define标识符字符串define 函数定义一个常量。

常量类似变量,不同之处在于:

在设定以后,常量的值无法更改。

6楼:匿名_热心网友

综合下面两个你再稍微改一下吧,现在没时间专门弄个完全专扣题的了,见谅#include

#include

#include

struct stu

{属int num;

int wuli;

int huaxue;

int math;

7楼:匿名用户

把宏定义带入 k = 10 * min(i, j)得k=10*icopy由于算数运算符(*)的优先级高于比较运算符(<)和三目运算符(?:),所以应该先计算10*i得100,然后进行三目运算,因为100<15为假,所以结果等于j,即k=15

8楼:匿名用户

宏定义是按字符串完全。完全的字符串替换内。

所以k = 10 * min(i, j);

是容:k=10*(i) < (j) ? (i) : (j);

i是10,10*i 是100,

100<15,是假,所以k=j 所以是15.

9楼:匿名用户

宏定义最重要的就是要把握原样代入的原则,不要主观的加括号#define min(x, y) (x) < (y) ? (x) : (y)

所以:回

10 * min(i, j)

=10*i在10*i被结合了,答

将i = 10; j = 15代入,变成:

=10*10<15?10:15

=100<15?10:15

由于100<15为假,所以k=15

10楼:冯冶

首先你要明白#define min(复x,y) (x)<(y)?(x):(y).的意思,这是制一个带参数的

bai宏定义,起作用就du

是一个简单的替换。其次你要zhi明白dao ? :是一个三目运算符。问号前面的表达式为真的话表达式的值就是?后面的值,要是假的话就是:后面的值。所以有:

k=10*min(j,k)=10*min(10,15)=10*10<15?10:15=15

11楼:匿名用户

我被绕进去了

抄半个多小时,终于清醒了,bai答案是

du15.

关键在 (x) < (y) ? (x) : (y)对min(x,y)进行宏定义的时zhi候,保险起见,应该写成((x)dao

<(y)?(x):(y))。

为什么外面再加个大括号呢,我一开始算的时候就是按照10小于15成立,所以min(i,j)等于i等于10,所以k=100。但是这是外面加了个大括号才这么算的。没加的话,就是这道题,结果就是k=10*x

x:y;即k=10*i

j,先计算乘法,k=100<15?10:15,也就是说100<15不成立,所以k=j=15。

所以宏定义的时候最外面有没有大括号很关键。

12楼:匿名用户

c.15

k = 10 * (i) < (j) ? (i) : (j) = (10 * (i) ) < (j) ?

(i) : (j) = (100) < (15) ? (10) :

(15) = 15

以下程序的输出结果是()。

13楼:表哥傻叼

main()

int adds( int x,int y)整个计算过程是这样的:

第一次调用adds(a,b);

n*=++m //m=1 n=n*1=3

m=n%x+y++; // n%x+y++=n%x+y=3%5-1=2

return(m); //m=2,所以c=2,第一次结果为2

以下程序的执行结果是________ main( ) { int i=2;j; (j=3*i,,j+2),j*5; printf("j=%d\n",j) }

14楼:

//先改正,再分析

#include

void main( )

//分析专

(j=3*i,j+2),j*5;这是个逗号表达式语句,只有j=3*i改变j的值属,其他不改变j的值,因此j=6。

15楼:颓废ю小寶

有点像逗号表达式啊,但是i,,j中间有2个逗号,是不是你写错了?而且你程序有问题

但是不管怎样

回 你一开始答定义了int i=2后,根据j=3*i可以得出 j=3*2=6

你输出表达式只要输出j的值,所以就是6咯

有以下程序,执行后输出结果是______

16楼:乐vov乐

8 17 刚帮你运行了一下

17楼:匿名用户

输出:817

int func(int a,int b)

int main ()

执行以下程序后输出的结果是( )。 main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }

18楼:匿名用户

y最终值为-1

y--是先抄作运

bai算然后减变

du量值

--y是先减变量值然后再作运算zhi

printf("%d\n",y--);运算到这里时,y是的dao值为0,由于是先算后减,所以在输出y值后,再作减1运算,就成了-1

如果 y的初始值是不是偶的话,那就是死循环了.

下列程序运行后的输出结果是,以下程序运行后的输出结果是_______。

1楼 匿名用户 p b p指向 b 0 p b 0 p立 开始循环 累计输出 5 p p指向b 1 p b 1 p输出为 5 4 3 2 换行 下列程序运行后的输出结果是 2楼 匿名用户 n j n t 1就是把n t 的值加上1赋给n j 。 首先循环 for t 0 t 3 t n t 0 之后...

关于c语言以下程序运行后的输出结果是

1楼 阿瑞斯ares啊 联合体里面的所有成员共用同一块儿空间 如果你的是32位机器的话 b 0x12345678 占4个字节 根据你的输出的c 78 则你的是小端机器 0x12345678 每两个数字占一个字节 char c 只占一个字节 所以只会取b内容的一个字节的内容 你的是小端机器 所以输出为...

阅读程序,写出程序的输出结果,c语言阅读下面的程序,写出程序运行输出结果

1楼 匿名用户 程序结果为 false 通过a的构造函数对 a 和b的privatevar属性进行赋值a赋值1,b赋值2 通过a isequalto b 来判断两者的privatevar是否一致,若一致返回true不一致返回false c语言阅读下面的程序,写出程序运行输出结果 2楼 楼主 回头是岸...