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...