有關C語言整型變數的問題知道的請進

時間 2022-03-08 15:50:16

1樓:

沒錯的啊,在我的機器上執行是17.5

雖說這條int unit_price = 350l;有點問題,但350l賦值給unit_price會自動轉化過來的。

我用的是vs.net 2005。

看來應該是系統環境有關吧,你去掉l看有沒問題看看。

2樓:匿名使用者

int unit_price = 350l這裡己錯了.

長整數350l和基本整常數350 在數值上並無區別。但對350l,因為是長整型量,c編譯系統將為它分配4個位元組儲存空間。而對350,因為是基本整型,只分配2 個位元組的儲存空間。

因此在運算和輸出格式上要予以注意,避免出錯。

3樓:雷阿倫復出

我的電腦用int也行啊,怪!

4樓:匿名使用者

整型變數的型別和表示形式:

1.基本整型(int):

有符號基本整型:用[signed] int 表示.記憶體佔2位元組

無符號基本整型:用unsigned int 表示.記憶體佔2位元組

2.短整型(short)

有符號短整型:用[signed] short int 或[signed] short 表示.記憶體佔2位元組

無符號短整型:用unsigned short int 或 unsigned short 表示.記憶體佔2位元組

3.長整型(long):

有符號長整型:用[signed] long int 或 [signed] long 表示.記憶體佔4位元組

無符號長整型:用unsigned long int 或 unsigned long 表示.記憶體佔4位元組

有符號型別通常省略[signed],比如說[signed] int 可以寫成 int.

下面列出它們的十進位製取值範圍:

int: -32 768~32 767

unsigned int: 0~65 535

short: -32768~32 767

unsigned short: 0~65 535

long: -2 147 483 648~2 147 483 647

unsigned long: 0~4 294 967 295

注意:無符號整型常量要在後面加u或u.如:45000u .

長整型常量要在後面加l或l.如:789000l.

無符號長整型常量要在後面加ul或ul.如:34560000ul.

下面提出你的錯誤:int unit_price = 350l;

你要麼改為int unit_price=350.要麼改為 long unit_price=350l.

補充:你可能問int和short這兩種型別的區別,這個問題我至今也不知道.我學c一年了,歡迎你和我一起**其他關於資料結構的問題,我會盡量幫你解答.

問一道關於c語言的程式。會的請進

5樓:匿名使用者

#include

int main()

return 1;}

6樓:匿名使用者

給個思路你

#include

void main()

7樓:

總體思路就是將輸入的每個字母的ascii碼加5,最後五個字母v,w,x,y,z分別變成a,b,c,d,e就實現了迴圈。 大寫字母也是一樣的方法。

關於c語言問題,急!!高手請進!

8樓:

s是指標的指標,在這裡是指向主函式的p指標的指標;**s就是主函式p所指位址的內容;p是指向乙個動態儲存位址,這是向系統要求配給的(int *)malloc(sizeof(int)),具體操作在教程裡可以找到;

fun(int **s,int p[2][3])

p[2][3}即a[2][3];**s=p[1][1]的意思是把p[1][1](其值為9(第二行第二列的數))即a[1][1]的內容賦予**s指向的儲存空間,也就是主函式中p的值為9了,所以輸出值為9。

c語言問題,大神請進

9樓:

#include

#include

#include

char* substr(char* s, int pos, int len)

int i=pos-1,j=0;

for(j;j

10樓:匿名使用者

#include

#include

char *substr(char *s,int pos,int len)

{char *result;

int i;

pos--;

s=s+pos;

result=malloc(sizeof(char)*(len+1));

for(i=0;i

在c語言中的整型變數與實型變數的區別是什麼?

11樓:天雲一號

整型變數只能儲存整型資料,不同型別的變數儲存數值的範圍不同,整型變數的儲存型別主要有:短整型short(佔2位元組),基本整型int(佔4位元組),長整型long(佔4位元組)等;

實型變數儲存資料的範圍較廣,顧名思義是實數,當然整數也是實數,也能儲存。實型變數的儲存型別主要有:單精度浮點型float(佔4位元組),雙精度浮點型double(佔8位元組)等。

注:以上變數所佔位元組數,均在32位計算機上進行測試。

其他的變數型別還有字元型別(char)、結構體、列舉型別、共用體等。

c語言問題,高手請進!

12樓:匿名使用者

#include

#include

int zdgys(int x,int y);

int zxgbs(int e,int f);

void main()

int zdgys(int x, int y)}return i;

} int zxgbs(int e, int f)}s = e * f / i;

return s;

}看看改動了什麼。你的程式設計風格太差了,既沒空行,又沒空格,讓我編輯了半天。

我用你說的值試了都沒問題啊,除錯命令:f10單行執行,f11進入函式,f9設定斷點,f5進入除錯模式

13樓:鯉牆

為什麼不用輾轉相除法

#include

int gy(int a,int b)

t=a%b;

while(t)

return(b);

}int gb(int a,int b,int c)main()

你的程式在g=1的時候就滿足 if((x%g==0)&&(y%g==0)) 那個時候就返回值了 不會再繼續迴圈

14樓:經懿胥方

你這這一步錯了cost=10+(mile-3)*2+((minutes*60+seconds)/300)*2;因為你minutes和second都是int的,當你除以乙個整形後它會取整,例如

c=a/100,當a為int型且a=580時,c的值會是5,而不是你所想的5.8,所以這題你只要把minutes和second改為double型就行了(

intminutes,

seconds;改為

double

minutes,

seconds;及

scanf("%lf%d%d",

&mile,

&minutes,

&seconds);

改為scanf("%lf%lf%lf",

&mile,

&minutes,

&seconds);)

懂c語言的高手請進,幫忙解答c程式問題!

15樓:瘋狂夏風翼

學號:1 整形為2個位元組

姓名:jiaxiang 字元1個位元組乘以8分數:100 18 86 整形2個位元組乘以3平均分:

68.000000 浮點float4位元組總共20個位元組,fseek(p,位移量,0);中的0表示從檔案開始為基點,向前移動位元組。如果要把位置指標定位在平均分的位置上則需要移動16個位元組,剛好移動到平均分的地方。

16樓:匿名使用者

如果要使用結構體來表示記錄的話,樓上回答有問題。

結構體中有padding

所以應該是平均分的位址減去學號的位址

17樓:匿名使用者

/x=='0'==48

printf("%c%c",x,y);//40以上是我的想法,沒測試過

另外,團idc網上有許多產品**,便宜有口碑

c語言指標變數問題

金色潛鳥 c 語言中,形式邏輯不成立,指標書寫的外形,在宣告中和在語句中,外貌相同,意思不同!int ptr 這是宣告,宣告 ptr 是指標,用於指向 int 型變數。語句中 ptr 表示 指標指向的數值,ptr 表示 指標指向的地址。有 的是值,沒星號的是地址。ptr int malloc num...

C語言中static變數的賦值問題

小夏在深圳 static int a 0 執行期時初始化一次,下次再呼叫時,不進行初始化工作如下 printf d a a int main staticlocalvar 第一次呼叫,輸出a 0 staticlocalvar 第二次呼叫,記憶了第一次退出時的值,輸出a 1 return 0 擴充套件...

關於C語言變數儲存型別的問題

聽雨晨安 1開始已經定義了全域性變數i,而main函式中又有個i的宣告,有什麼作用呢?答 如果重複定義了i變數,那麼對於內層的塊,有效的是 main函式中的i 2.然後在new函式中傳入了i的值,全域性變數在這裡起作用?和1類似,全域性變數i的作用域為程式執行到程式結束,並且對於每個塊,都有效。大致...