有個關於C語言的小問題,關於C語言的一個小問題

2022-07-01 18:25:11 字數 3483 閱讀 8850

1樓:北丹丹

#include

int main() }

關於c語言的一個小問題

2樓:

if語句不能這樣用,當需要判斷多個條件時,需要各自用括號括起來,再用邏輯與符號&&或者邏輯或符||連線。貼段**給你參考,功能是a,b,c三者相等時輸出case-1,我用gcc編譯器驗證過了。

#include

int main(void)

else

printf("\n\n");

return 0;}

一個關於c語言的小問題

3樓:匿名使用者

額。你這是**格式把你迷惑了。

你上面這段**實際是:

int main()else

}printf("%d\n",c);

}以後加上{}吧。

4樓:匿名使用者

這是經典的else懸掛問題,你的else在語法上屬於第二層結構的if(b<0)了,雖然你縮排了想它歸於if(a

你應該寫成

if(a

}else

所以,為了克服這個問題,無論if語句裡是否是多條語句,都必須堅持用大括號括起來。

5樓:宛瑩

else 匹配的是裡面的 if 判斷,第一個 if 沒有進去,直接進入列印, c 的值根本就沒有變過

6樓:匿名使用者

你的else 是和第幾個if匹配的?你不要省略{}在試一下 就清楚了

7樓:

你第一個if連個大括號都沒有

關於c語言的一個小問題!

8樓:

看啊,如果是c語言的話,int型是2個位元組,也就是-32768~32767

你的int a,b sum;實際上就是給上述int型變數分配了記憶體空間,但是並未對上述記憶體空間賦值。記憶體空間中原來是什麼值,就是sum=a+b的值...誰會知道你記憶體原來是什麼值啊...

反正最後加起來就基本肯定不能是5了...

把a=1;b=4;放到sum=a+b前面吧

9樓:

有沒有程式的概念啊?

程式? 程式! 那是要講流程和順序的!!

你先後順序都不講的亂來,編譯器警告也不看,就來亂髮問啊a和b誰先賦值無所謂,但是a和b兩變數,是先用後再賦值還是先賦值瞭然後再使用?很明顯的不問題吧,你以為是先定個計算的公式,再來填數啊?

明白一下程式的概念,再去好好學下

10樓:江湖三腳貓

你這個程式沒掛就不錯了,把

sum=a+b;

a=1;b=4;

順序換一下,a=1;b=4;放到sum=a+b前面去。

11樓:煙火夜空

a=1;b=4放在sum=a+b;前面

關於c語言的一個小問題

12樓:曉博

#include

#include

void main()

換成double以後 沒問題了 因為他倆程式 r,m存在一個轉換型別的問題

13樓:匿名使用者

樓主得到得結果多少?

我得到的結果month=201.983398

可能是由於編譯器的原因吧,編譯環境不一樣,得到的結果就會不同

14樓:匿名使用者

turbo c++和visual c++中對整形和實型分配的位元組數好像不一樣

一個關於c語言的小問題

15樓:

&str表示的是地址的地址

假設有一指標的指標 char * *p;

p=&str;

scanf("%s",p);

或者反過來,定義了一個二維陣列char p[40][10];

令str=p[0];

scanf("%s",str);

scanf("%s",p);

執行的結果是一樣的,但含義不一樣

16樓:

陣列本身就是指標,一般定義的int型或者別的型讀入時都要加「&」取地址符,找到地址才能存入資料。

17樓:匿名使用者

這是因為靜態的陣列在記憶體裡面是連續儲存的。

str除了能表示陣列的名字外,還表示陣列的首地址,相當於&a[0];這就是為什麼(a+i)等同於&a[i]。

&str則表示陣列的首地址,而陣列的首地址就是首元素的地址。。。

18樓:公孫白菱

#include"stdio.h"

void main()

;//float (*pointer)[4]指向的是一個陣列,該陣列由4個float值組成。

float *search(float (*pointer)[4],int n);

float *p;

int i,m;

printf("enter the number of student:");

scanf("%d",&m);

printf("the scores of no.%d are:\n",m);

p=search(score,m);

for(i=0;i<4;i++)

printf("%5.2f\t",*(p+i));

printf("\n");

}float *search(float (*pointer)[4],int n)

19樓:741852963一

樓主,你好,你學到指標就知道了,比如說:

int i,*p,a[10];//定義指標變數與一個陣列p=a;//注意,a是表示陣列的首地址,而不是陣列名,所以可以也這樣寫p=&a[0];

for(i=0,i<10;i++)//i用於計數scanf("%d",a++);//地址加1,因為陣列的儲存都是連續的,所以可以這樣寫。

str表示的就是字元陣列的首地址,加不加&(取地址符)都是一樣的。

有關c語言的小問題

20樓:聽不清啊

已經改好了:

# include

int main (void),,

};for(int i =0 ;i <3;++i)return 0;}

21樓:匿名使用者

第二個for迴圈中的 j 誤寫成 i 了

22樓:匿名使用者

第二個for裡的判斷條件應該是j<4,寫成i<4了

23樓:gta小雞

第二層迴圈條件的j<4打成了i<4

C語言的小問題,C語言的一個小問題

int型變數在系統中佔用2個位元組的儲存空間 也就是16個bit char型變數在系統中佔用1個位元組的儲存空間,1個位元組由8bit組成,也是就8個0或1組成的。這裡所謂高位就是c 1 低位就是c 0 因為系統分配記憶體時是按照c 0 c 1 的次序分配的,分配在前面的稱低位。因為是共用型,記憶體...

C語言的小問題,C語言的一個小問題。

int a int p 這個的引數是一個int型別的一級指標int a int p 這個引數是一個int型別的引用int a int p 這個引數是一個int型別的變數int a 10 int p a 這個p就是第一個函式的引數的實參int p1 a 這個p1就是第二個函式的引數的實參int p2 ...

關於c語言問題,關於C語言的問題。

include int main 網上到處都是資料,你多查點資料在寫程式可以麼。標頭檔案都寫錯了。你這 想表達什麼。c語言中關於agrc和agrv 的問題 用命令列開啟到你的 exe檔案的目錄,exe就是你的。c檔案編譯後生成的可執行檔案,然後在該目錄下直接執行,比如編譯後生成的是 你就直接 hel...