bz00 发表于 2022-1-8 17:24:05

C语言视频第十节,改动一下,但第二b打印结果想不明白,请指教

#include<stdio.h>
int main()
{
    int a=3,b=3;
   
    (a=1)&&(b=5);
    printf("a = %d,b = %d \n",a,b);
   
    (a=1)||(b=5);
    printf("a = %d,b = %d\n",a,b);
   
    return 0;
}

jackz007 发表于 2022-1-8 17:32:16

      那么,按照你自己的理解,应该打印出什么样的结果呢?

傻眼貓咪 发表于 2022-1-8 18:17:01

#include<stdio.h>
int main()
{
    int a = 3, b = 3;
   
    (a = 1) && (b = 5);               // 逻辑运算符一般用在 if、for、while 等等,返回的布尔值用作执行下一步代码,但你这里赋值?
    printf("a = %d, b = %d\n", a, b); // 这里理所当然打印已经赋值的结果
   
    (a = 1) || (b = 5);               // 逻辑运算符一般用在 if、for、while 等等,返回的布尔值用作执行下一步代码,但你这里赋值?
    printf("a = %d, b = %d\n", a, b); // 这里理所当然打印已经赋值的结果
   
    return 0;
}

bz00 发表于 2022-1-8 19:48:15

非常感谢,明白了,返回的布尔值用作执行下一步代码,迷在这里了
页: [1]
查看完整版本: C语言视频第十节,改动一下,但第二b打印结果想不明白,请指教