c语言int a=b; a=5; b为什么不等于5
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/01 08:20:47
可以这么考虑!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和b是形参,其作用域只限于函数内部,可以把它们当作局部变量来用,你这里的a和b都没有在函数max之外用到,所以是可以用的.
Ainta=b=0//错误.此语句只定义一个变量,若b前面没有定义,则报错.Bchara=65+1,b='b';//正确.Cfloata=1,*b=&a,*c=&b;//错误.变量c是指向指针的指针.
那不是取余,而是要显示一个%,由于%在输出格式字符串中表示数据类型,所有用%%表示一个%必须是紧靠在一起的!
值为1a>b为真即1,又1=1,所以也为真,得最终为1
=b-[b+(b/a)];
d=!a&&!b||!c的意思是:d不等于a并且不等于b或者不等于ca
a=2;b=1;a非零,||逻辑值就为1了.所以b根本没执行
[1]C[2]A对于||运算,假设++a||++b,若++a为真或者为大于零的值,就不在运算++b了
#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
?:是C语言里唯一的三目运算符,作用是先判断?前面的表达式是否为真,如为真,则表达式的值为?和:之间的值,否则为:之后的值.先看第一个,(b>c)?b:c先判断b是否大于c,如果是,值为b,否则为c,
我能看懂你的问题我就发现我是个神!你那有很多问题,你上机试试.如果用参数返回值的话,要用指针.#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语言里面一
第一个条件可知a等于65.第二个条件可知b等于5.第三个算式a*(a+b)赋值给a,a等于65*70等于4550,4550赋值给b,如果b后面是两个减号的话,b减减,b等于4549.所以a等于4550
a和b先做异或操作,再左移俩位最后赋值给c再问:异或是相同取1不同取0吗?那左移怎么移比如一个数1001左移两位等于多少?再答:异或相同取1不同取0,1001左移两位是01001111是1100001
括号里为逗号表达式逗号表达式:先计算表达式1的值,再计算表达式2的值,整个表达式取表达式2的值=,C语言称为赋值号.格式:变量=表达式.功能:将赋值号右面表达式的值赋给左边的变量所以这条语句是把逗号表
答案为4,逗号运算符先运算表达式1:b+4其值为5,整个为真的话整个表达式就等于(b+=2,++b)此处又是逗号运算符,b+=2的值为三b的值也为3,后面++b为4,b值也为4所以a=4再问:那为什么