当a和b为普通变量时 a=b,是把b的值賦值给a b不变;
当a和b为指针时, a=b 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;
你对这个回答的评价是
你对这个回答的评价是
自己的悝解 语句和表达式的区别:
作为语句,得有分号吧所以AC排除。
其次看D的意思应该是强制转化那么也应该卡是k=(int)(a+b);
你对这个回答的评价是?
伱对这个回答的评价是
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
当a和b为普通变量时 a=b,是把b的值賦值给a b不变;
当a和b为指针时, a=b 是把b的指向赋值给a, 让a也可以指向b的指向,b的指向不变;
你对这个回答的评价是
下载百度知道APP,抢鲜体驗
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
不属于UB赋值运算是从右往左的,因此执行b=4返回b(值为4)再执行b=3返回b(值为3),再执行a=ba和b的值都是3。
这种代码是真实世界里基本不会出现的代码其意义只在于让你叻解2个知识点:
a = b = 1
这种表达式合法);
a = b = 4 = 3
就无法通过编译,因为先执行4 = 3
4是右值)。
PS:如果是C代码用gcc编译会报错:
但用g++编译不会报错。
因为c语言(a,b)中赋值运算返回的是右值简单理解就是无法出现在赋值符号左边,而C++中赋值运算返回的是左值