(a=5,b=2,a>b?a++:b++.a+b)的值为?
时间: 2023-03-22 17:00:38 浏览: 176
(a=5, b=2, a>b ? a : b . ab)的值为2.ab。其中,三元运算符“a>b ? a : b”的结果是5,因为a大于b,所以结果是a的值5。而点运算符“.”则是字符串连接符,将其后面的字符串“ab”连接在2后面,形成2.ab。因此,整个表达式的值为2.ab。
相关问题
int a=7.b=9, t: t=a›b?++a++b:;printf("%d" ' ,t);
同样是有语法错误的代码,应该是:
```
int a = 7, b = 9, t;
t = a > b ? ++a + ++b : 0;
printf("%d", t);
```
这段代码的作用是比较变量 `a` 和 `b` 的大小,如果 `a` 大于 `b`,则分别将 `a` 和 `b` 的值加1,然后将它们的和赋给 `t`;否则将 `t` 的值赋为0。最后将 `t` 的值输出。
int+a+=+0,+b+=+0; for+(a+=+1,+b+=+1;+a+<=+100;+a++) { ++++if+(b+>=+20)+break; ++++if+(b+%+3+==+1
根据提供的引用内容,可以得出以下结论:
1. a++和++a的区别在于返回值不同,前者返回原始值,后者返回自增后的值。
2. a+=b和a=a+b的区别在于前者改变了a原始的值,后者计算出a+b后再赋值给a。
3. int+a+=+0表示将a的值加上0,即不改变a的值;+b+=+0同理。
4. for+(a+=+1,+b+=+1;+a+<=+100;+a++)表示a和b的初始值都加1,然后在a小于等于100的情况下,a每次自增1。
5. if+(b+>=+20)+break;表示如果b大于等于20,则跳出循环。
6. if+(b+%+3+==+1?表示如果b除以3的余数为1,则...
综上所述,int+a+=+0和+b+=+0的操作都不会改变a和b的值,for循环中a和b的初始值都加了1,然后在a小于等于100的情况下,a每次自增1,如果b大于等于20,则跳出循环,如果b除以3的余数为1,则...