C语言中(a>b)?a:b和(a<b)?b:a有什么区别

如题所述

第1个回答  2014-04-17
++a a先加1,所以此时的a=9,所以输出是9,a--是a先传参,再减1,.所以输出是9。要是你在后面输出一次a,那就是输出8了。这是一个是先自加减,还是后加减的问题
第2个回答  2013-03-14
优先级 () > ++ > *
*a++ 先执行++ 再执行 * 即指针先移动一个位置,在对移动后指针所指位置解引用取值。
(*a)++ 先执行*a 再执行++ 即先对指针所指位置解引用取值,再对这个值自增加1.
第3个回答  2015-04-02
在 C 语言中,
1.单引号是字符的意思:‘A’,A就是一个字符;
2.双引号就是 字符串的意思:”abd“就是一个字符串。
第4个回答  2010-12-14
&a取址 *p取值这没有什么可说的。
int *p; int a;
a的地址1000h,即&a == 1000h. p是指针,它本身也有存放它的地址,设1200h,
即&p == 1200h(Win32下,指针本身长度32位即4字节,可通过sizeof(p)得到). 这样就是用到两块内存了。
p = &a; 即p == 1000h. 这是一个地址值,本质是值,即可以加减等操作的。但是加减后的p, *p可能就无法访问了,因为它已经不指向a了,比如p == 1004h了,如果这是在某一函数里操作的,而1004h地址并不本程序的地址空间里,取*p时那就非法访问,要崩溃的;但如果1004h地址正好是这函数里另外一个int b;变量的地址,那*p的值就是b了。
*p表示取p指向地址的值,也就是1000h上的值; a = 1; 说明1000h上的值为1,所以*p == 1;a, 它本身只是一个符号而已,这个符号代表了地址1000h起的int型长(4字节)的一个内存块, a=1,就是内存块放一个值1, 如果有汇编的思想,能更形象点:[1000h] = 1,根本不需要a,b,c...之类的字符来表示,直接对内存地址进行存取。
第5个回答  2012-03-08
如果a,b都是整数。a/b是取商,a%b是取余数。
如果a,b为浮点float,double。a/b是计算结果。

C语言中(a>b)?a:b和(a<b)?b:a有什么区别
在C语言中,"(a>b)?a:b"与"(ab)?a:b"的意思是,如果a大于b,则返回a,否则返回b,因此它实际上是在比较后选择较大的值。相反,"(ab)?a:b"是寻找a和b中的最大值,而"(a<b)?b:a"则是在寻找最小值。这在编程中可能会对程序的决策过程产生影响,特别是在需要根据两个数的大小关系...

C语言中(a>b)?a:b和(a<b)?b:a有什么区别
一、表达意思不同 1、(a>b)?a:b:如果a大于b,则取a,否则取b。2、(a<b)?b:a:如果a小于b,则取b,否则取a。二、逻辑顺序不同 1、(a>b)?a:b:内存逻辑中先执行大于的判断,之后执行下一步。2、(a<b)?b:a:内存逻辑中先执行小于的判断,之后执行下一步。三、执行顺序不同 1、...

C语言中(a>b)?a:b和(a<b)?b:a有什么区别
C语言中,“(a>b)?a:b”和“(a<b)?b:a”的区别是当a与b相等时,前者的值是b,后者的值的是a。条件运算符的表达式为“表达式1?表达式2:表达式3”,先求解表达式1,若其值为真(非0)则将表达式2的值作为整个表达式的取值,否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。例...

(a>b)?a:b什么意思?怎么解释?在C语言中
在C语言中,表达式"(a > b) ? a : b"是一个条件运算符,也称为三元运算符。它的基本思想是根据条件的真假来决定取哪个值。当条件"a大于b"为真时,该表达式的结果就是变量a的值;如果条件为假,即a不大于b,那么就取变量b的值。这个过程可以直观地理解为:从右向左进行计算,首先判断"(b ...

(a>b)?a:b什么意思?怎么解释?在c语言中
答案: 这是条件运算符在C语言中的用法。表达式 ` ? a : b` 的含义是:如果 `a` 大于 `b`,则整个表达式的值为 `a`,否则为 `b`。解释:1. 条件运算符简介:条件运算符 `? :` 是C语言中唯一一个三目运算符。它用于进行简单的条件判断,并返回两个值中的一个,取决于条件的真假。2....

c语言中(a>b)?a:b是什么意思阿?谢谢各位大神
"c语言中(a>b)?a:b"是一个“条件表达式”。它是这样执行的:如果(a>b)条件为真,则条件表达式为a,否则取值为b.

c语言a>b?a:b?
C语言(a>b)?a:b的意思是如果a>b的结果为真,那么表达式的结果会是a,表达式的结果为0,那么表达式的结果就会是b。这是C语言中唯一一个三目运算符,它可以简化很多表达式。有利于代码的书写。求值规则为:如果表达式1的值为真,则以表达式2的值作为条件表达式的值,否则以表达式3的值作为整个条件...

C语言编程中,a>b与b<a有什么区别?
没有区别 但是你肯定输入时不对,看你的这一句:scanf("%d,%d,%d",&a,&b,&c);这一句的意思是你输入的三个整数之间要以逗号分开,即必须输入“1,2,3”(这是一个例子)才能有使scanf函数真确读入这三个数,你的输入是以空格分开打吧,把逗号去掉吧,问题不是出在<>这两个符号上的 ...

(a)>(b) ? (a):(b)
如果a大于b就取返回值a,a小于或等于b就取b C语言中有一个三目运算符,它就是"?:"条件运算符,它要求有三个运算对象。它可以把三个表达式连接构成一个条件表达式。条件表达式的一般形式如下:逻辑表达式? 表达式1 : 表达式2 条件运算符的作用简单来说就是根据逻辑表达式的值选择使用表达式的值。当...

c 语言:是什么意思?black=(a>b)?a:b;
问号(?)是C语言的三元运算符,相当于一个if...then...else...语句。根据运算符的结合性,black=(a>b)?a:b 相当于 black=((a>b)?a:b)也就是a与b中较大的那个赋给变量black PS.不知道这里black以及a和b都是什么类型,如果是指针的话,则是地址较大的那个指针赋给变量black,也就是将...

相似回答