c語言if裡面難道不能宣告變數嗎

2025-06-21 13:00:05 字數 2569 閱讀 6209

1樓:網友

if(sizeof(int)==sizeof(long))

else加個大括號你就清楚是怎麼回事了,sum,無論在if還是else裡面,都僅僅是大括號裡面的區域性變數,只要跳出大括號,生存期就結束,因此在外面不能再使用sum

2樓:網友

能給上乙個截圖嗎?

c語言裡面定義區域性變數必須放在函式的最開頭不過鑑於你使用的是vs2008,編譯器應該是c++的從你**貼的來看,沒看出來有什麼問題。

3樓:網友

main函式少了乙個大括號??

c語言if語句內定義變數型別,在範圍外用,為啥不用再定義?

4樓:一顆程式猿

這語法有錯誤。

如果沒錯的話,可能外部有同名變數c

5樓:網友

if(b < a)

變數c是的生存期只有這個if{}中,超過就會被釋放。

bool c;

if(a > 0)

else c = false;

else c = false;

這樣就可以使用。

c語言中if條件語句為什麼只寫了乙個變數?

6樓:風雷九州

c語言裡面使用0代表邏輯假,非0代表邏輯真。

if(n)這種寫法和if(n!=0)是完全等價的。

因為n=0時,n本身為0就是邏輯假。

n!=0時,n本身非0就是邏輯真。

if(n)只有當n!=0的時候,裡面的條件才是邏輯真,才會走到if分支裡面。那不就是和n!=0完全等價了?一種省略的寫法而已。

7樓:網友

括號裡只要運算結果是數字就行了,0相當於假,非零相當於真。你直接寫個2或者0都行,只要是數字,非零的話就相當於1,但是執行結果不能是字母或者其他。

8樓:零下一度的沙漠

if(n)的意思是如果n>0的時候執行if語句。

if(!n)的意思是如果n=0的時候執行if語句。

9樓:歌衣美舍

這裡的n應該是布林型別的樹枝,就是true和false

if……else……中的變數宣告問題

10樓:網友

if((n & 1) == 1)

long res = x ;

elselong res = 1;

這樣寫,等效於。

if((n & 1) == 1)

else/到這裡,res無效(無定義!)

所定義的變數res的有效範圍為兩個大括號之間,出來此範圍,變數無效!

11樓:網友

long long res = 1;

if((n & 1) == 1)

res = x ; // 這這裡宣告的話,僅在該分支內有效n >>= 1;

while(n != 0)

return res;

關於c語言if語句中的變數一點問題

12樓:網友

如果a=1,則a==0不成立,不會修改b的值,b在作用域內值不變,一直是1

13樓:網友

a為1的時候,if判斷為假,不執行判斷內的語句,所以b維持原值。

c語言,能不能這樣定義變數,為什麼

14樓:網友

不能。c99中沒有對這樣的賦值表示式作定義,所以編譯器怎麼處理這個表示式都是可以的,比如先將b的值賦給a,再將賦給b(雖然現有的編譯器都是先將賦給b再將b賦給a)。

其次,這個表示式只定義了a是float型,b的型別不確定,若b在之前未定義,會報錯。

這種表示式還存在的乙個問題就是a、b的命名含義不明確,雖然不違反標準,但是不符合程式設計規範。

15樓:網友

if(b < a)

變數c是的生存期只有這個if{}中,超過就會被釋放。

bool c;

if(a > 0)

else c = false;

else c = false;

這樣就可以使用。

c語言裡變數的宣告

16樓:風雷九州

int b; //定義變數b,預設值為0int b=1; //給變數b賦值為1

int main()

全域性變數允許初始化一次,但是區域性變數不允許。

在c語言中if算關鍵字嗎 那可以作使用者識別符號嗎

17樓:網友

c編譯器中對大小寫敏感,所以if不是關鍵字,而if才是關鍵字。

if可以用來做使用者識別符號。

18樓:公尺可and公尺爾

不算,因為c語言是區分大小寫的,if才是關鍵字,但使用時為了更好地區分關鍵字,一般不使用if做使用者識別符號。

在c語言裡面宣告指標並用malloc賦值與與直接宣告變

區別當然是有的 link n 申明結構體實體 n 結構體地址 link n 申明結構體指標 n malloc sizeof link 讓結構體指標指向申請的記憶體空間,需要free釋放 後者需要釋放並且申請大小靈活 希望對你有幫助 首先你得明白malloc函式的作用 malloc函式是在記憶體中找到...

c語言中變數定義是什麼,c語言中exit怎麼定義?

型別說明符 變數名稱 賦值表示式。這是基本的。比如 int a 1 2 char b b 定義了一個整數型變數a 其值為1 2就是3,定義了一個字元型變數b,b的值為字元 b 型別說明符變數名稱還可以加修飾說明,比如前面加上const表示這是一個不能修改值得常量等等。變數 是一個能夠存放某個指定型別...

為什麼C語言中定義變數的時候不能連續給多個變數賦初值

c語言中 不能連bai續賦初值du說的是以下這種情zhi況 錯誤演dao示 int a b 0 補充 在for函式回中允許。eg for a b 0 y作為答一個變數,可以被多次賦值,當你再一次賦值時,會將上次的值覆蓋掉。在c語言中,當定義一個變數y時,系統會在記憶體中的某個地址分配一個儲存單元,用...