已知: int a=2, b=7; 计算下列表达式的值:
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/19 05:20:29
![已知: int a=2, b=7; 计算下列表达式的值:](/uploads/image/f/4206938-50-8.jpg?t=%E5%B7%B2%E7%9F%A5%3A+int+a%3D2%2C+b%3D7%3B+%E8%AE%A1%E7%AE%97%E4%B8%8B%E5%88%97%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E5%80%BC%3A)
可以这么考虑!inta=1,b=10;do{b-=a;a++;}//执行这条语句时,b=b-a=10-1=9,a=2while(b--0不满足循环条件,跳出循环后b再自减一次,b=8希
首先P2没有定义#include“stdio.h”voidmain(){inta=9,b=25,*p1=&b,c;//定义整型变量a,b,c,并初始化了a,b;定义了指针变量p1,并指向bc=*p1;
(a=1,a++,b=1,a&&b++)?i+1:i+4由于i没有初始化,这个的值应该是个随机数i++||i++||i++是一个逻辑运算,答案应该为“真”,即1
voidfunc(inta,int&b)//传入的值为0和1,a=0b=1{a++;//a在函数中的值改为1,但是出函数后,x仍然=0b++;//b是引用传参(b相当于y),所以跳出函数后y的值改为2
值为1a>b为真即1,又1=1,所以也为真,得最终为1
a=2;b=1;a非零,||逻辑值就为1了.所以b根本没执行
[1]C[2]A对于||运算,假设++a||++b,若++a为真或者为大于零的值,就不在运算++b了
2维数组a[3][4]={{1,3,5,7}{9,11,13,15}{17,19,21,23}}这样子可能楼主清楚些,int(*p)[4]=a也就是把a2维数组赋给2维指针p,接下来执行循环首先i=0
#includevoidmain(){inta=3,b=4,c=5;a++>b--&&b++>c&&++c;printf("a=:%d\n",a);printf("b=:%d\n",b);printf
【结果】0【分析】&的优先级比/高所以2/2为1,1的二进制是01而c是2,2的二进制是10,两者相与(&),结果则为00,即0.再问:什么叫相与再答:C语言的逻辑运算中的一种,与运算。只有两者均为1
你的语句等同于inta=9,b=8,c=7,x=1;if(a>7)if(b>8){if(c>9)x=2;elsex=3;}这样就清晰了吧b=8,所以根本就没有进入下面的if语句;所以x依然为1;如果是
逗号表达式从左往右计算,返回最后一个表达式的值.a*=2后a=4,返回a+1=5
我能看懂你的问题我就发现我是个神!你那有很多问题,你上机试试.如果用参数返回值的话,要用指针.#includevoidfun(inta,intb,int*c){*c=a*b;}intmain(){in
这个式子等效为a=a+(a=a-(a=b+c))=a+(a=a-9)//此时a=9=a+0//此时a=0=0再问:你答案的第三行,为什么不是=2a-9再答:你注意我的式子里面是有括号的,在c语言里面一
500再问:能具体点吗?过程!再答:先采纳再问:已经采纳!能给个过程不?再问:救急啊!再答:哈哈再答:我也不知道
答案为cpt->x=10;++pt->x=11;再问:为什么pt->x=10,而不是等于20呢再答:pt此时指向c[2]这个数组中的的第一个
答案为4,逗号运算符先运算表达式1:b+4其值为5,整个为真的话整个表达式就等于(b+=2,++b)此处又是逗号运算符,b+=2的值为三b的值也为3,后面++b为4,b值也为4所以a=4再问:那为什么
选C。A错,因为浮点型不能用在switch中。B错,本来将浮点型强制转换为整型之后用switch是可以的,但它在swich((int)x)后面多了个分号。C对,a+b的结果也是整型,没问题。D错,因为