编程问题之:花式赋值看输出

简介:

这是编程里面比较恶心的一类问题,很容易被忽视,但是确很重要。

#include <iostream>
using namespace std;

int main() 
{
    int x=2,y,z;
    x*=(y=z=5); cout<<x<<endl; //输出10,相当于x*=y;

    z=3;
    x==(y=z); cout<<x<<endl; //输出10,不论是否相等,x不被赋值(编译器会warning,==无效)

    x=(y==z); cout<<x<<endl; //输出1,相等表达式返回值1

    x=(y&z); cout<<x<<endl; //按位与,y和z都是3(0011),按位与后是0011(还是3)

    x=(y&&z); cout<<x<<endl; //直接与运算,y和z都为真,返回1

    y=4;
    x=(y|z); cout<<x<<endl; //按位或运算,0100和0011或后是0111,即7

    x=(y||z); cout<<x<<endl; //或运算,y为真,z为真,最后为真

    return 0; 
}

最后输出:
10
10
1
3
1
7
1

相关文章
|
6月前
|
C语言
c语言编程练习题:7-16 计算符号函数的值
请编写程序计算该函数对任一输入整数的值。
118 0
|
5月前
|
C语言
C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)
C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)
59 0
|
6月前
|
算法
运算符的妙用以及部分机理解析
运算符的妙用以及部分机理解析
65 0
|
11月前
|
TensorFlow 算法框架/工具 C语言
从头再来精学python(1) - 多重赋值
从头再来精学python(1) - 多重赋值
50 0
|
算法 C语言
C语言练级之路num4(有关各种菱形的打印)(用的都是基础的算法),会了这些图形的打印,从此再无你不会用的循环,给你理解的透透的
1.第一题(边框菱形的打印) 2.第二题边框 菱形的进阶 3.第三题(数字菱形的打印) 4.第四题:(空心菱形) 5.第五题(实心菱形): 6.第六题:(外带一个杨氏三角的再一次打印)
如何用简单的方法来判断一个字符串是否是由另一个字符串旋转得来的
如何用简单的方法来判断一个字符串是否是由另一个字符串旋转得来的
|
Shell
shell编程之双重循环(教你花式打印各种图形)(上)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
710 0