C++程序设计:变量a,b,c值分析

需积分: 35 1 下载量 14 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
在C++程序设计中,谭浩强编著的教材里,有一道题目涉及到变量a、b、c的赋值情况。以下是根据提供的代码段进行的详细解释: 首先,定义了两个整型变量x和y,它们的初始值分别为10和9。接下来,我们有三个变量a、b和c,它们的初始值未指定。 代码的关键部分是: ```cpp a=(--x==y++)?--x:++y; ``` 这里使用了条件运算符。表达式`(--x==y++)`先递减x(`--x`)然后检查是否等于递增后的y(`y++`)。如果相等,则执行`--x`,即再次递减x;否则执行`++y`,即递增y。因此,由于x原本比y大1,x递减后会变为9,y递增后仍为9,所以a将被赋值为x(此时为9),因为条件不成立。 接着是: ```cpp b=x++; ``` b被赋值为x的当前值,然后x自增1,所以b的值也为9,x变为10。 最后: ```cpp c=y; ``` c直接被赋予y的当前值,由于y的原始值为9,所以c的值为9。 代码执行后,变量x和y的最终值为: - x = 8 - y = 10 变量a、b、c的值为: - a = 9 - b = 9 - c = 9 值得注意的是,虽然x在声明和初始化后被改变了多次,但原始的x=10并没有直接影响到a、b和c的值,因为这些变量是在不同的操作下独立赋值的。同时,C++语言的灵活性允许这样的表达式处理,但初学者可能会发现这种复杂的条件语句和赋值操作需要一定的理解和实践才能熟练掌握。