簡體   English   中英

有人可以向我解釋為什么 c=1 嗎?

[英]Can someone explain to me why c=1?

我最近一直在學習 c 並遇到了這個問題。 我明白 b=(a=10)=10 (如果我的思維過程有誤,請糾正我)但我不明白為什么 c=1,所以如果有人能向我解釋它會很神奇。 謝謝

#include <stdio.h>

int main()
{
    int a = 10;
    int b=(a=10);
    int c=(a==10);
    printf("B %d\n",b);
    printf("C %d\n",c);
}

您將表達式a == 10的結果分配給 c,如果條件為真(a 等於 10)則返回 1,如果條件為假則返回 0。

a = 10是賦值操作,而a == 10是比較。 賦值完成后,賦值返回左操作數的值 在您的情況下,您將值 10 分配給 a,然后返回 a 的值,因此a = 10計算結果為 10。

根據兩個操作數是否相等,比較返回 1 或 0。 a == 10的情況下,它們相等,因此整個表達式的計算結果為 1。

a == 10是一個比較,它返回10 由於a值為 10,因此此比較返回1分配給c 因此c值為1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM