C語言中如給int型的變數賦值inta4和int

2021-03-04 00:12:40 字數 4227 閱讀 7385

1樓:榮起雲睢嬋

你要顯示成01麼。。這不太可能,貌似c語言中沒有用0在前面站位的格式用法。

倒是可以用空格佔位,

printf("%5d",a);

當a的值小於5位的時候,會有空格在前面站位。超過5為照常顯示。

2樓:麻竹竇雁

這兩copy種方法的結果是沒有區別的bai

,但執行過程有差別,但後者比

du前者耗zhi時,所以推薦前者。至於是dao不是放在常數段上,那要看變數a的其他性質,如是全域性變數?區域性變數?再加上是自動型還是靜態型,還是const等等的組合,情況略複雜些了......

c語言中將一個浮點型賦值給整型時,會不會四捨五入?

3樓:幻翼高達

c語言中將一個浮點型賦值給整型時,不會四捨五入,會直接捨去小數部分的資料,也可以認為是執行了下取整運算。

將浮點數(單雙精度)轉換為整數時,將捨棄浮點數的小數部分, 只保留整數部分。將整型值賦給浮點型變數,數值不變,只將形式改為浮點形式, 即小數點後帶若干個0。注意:

賦值時的型別轉換實際上是強制的。

例如執行賦值後,無論5.4還是5.6都會變成5。

4樓:_夢幻陽光

不會的,不過可以寫一個函式自己轉換啊

#include

int fun(float x)

int main()

列印的為3和4,c語言很靈活的,樓主想要什麼幾乎都能實現

5樓:匿名使用者

不會的,如int x; 如果有 x=4.78; 則x的值是4

6樓:匿名使用者

不會,後面的小數就直接沒了,只有整數部分了

採納我哦

7樓:匿名使用者

不會的啦,整型的話,1/2=0,而不是0.5或者1,但整型變成浮點型要強制型別轉換,不知這麼解釋明白不。?

8樓:龍__鳳

不會的,看程式的執行結果:

9樓:路過

你好,不會的。浮點型資料賦給整型時,浮點型就會被自動轉換成整型,整型只是整數部分。

希望能夠幫到你。

10樓:匿名使用者

不會,一般是給你強轉成整形了,小數位就沒了,四捨五入是不存在的

11樓:匿名使用者

不會,只會把整數部分賦給整型變數

12樓:匿名使用者

不會,比如float a=4.45 那麼 printf("%d",a);輸入為4,直接把小數點後面的數刪去,不是四捨五入

c語言程式設計 int *a和int a [ ]有區別嗎?

13樓:a羅網天下

int *a是定義一個整型指標變數a。

int a [ ]沒有這種寫法。

int *a

1、定義a是一個陣列。

2、每一個陣列的元素是一個指標,指向一個整數。

(int *)a 將指標變數a強制轉換為整型指標,說明a一般不是一個整型指標,也可以是個整型指標。

int (*a)

1、定義a是一種指標。

2、a指向一種整數陣列。

陣列的建立:在建立陣列時,我們必須定義陣列的型別和大小,陣列的大小不能為0,陣列中的元素型別都是相同的。

int arr[10];//內必須是常量/常量表示式(3+8),不能是一個變數(x...)

陣列的初始化:在陣列建立時,我們也要必須為陣列初始化。

int arr1[3] = ;

int arr2 = ;//在這裡,我們arr[3]裡邊的數字可以不用寫;

int arr3[3] = ;//也是可以的,只是把最後一個數初始化為0了而已

int arr4[3] = ;//是不可以的,不能超過陣列長度

char arr5[3] = ;//因為是字元型別,所以98其實就是字元'b'

char arr6 = "abcdef";

特點

1、陣列是相同資料型別的元素的集合。

2、陣列中的各元素的儲存是有先後順序的,它們在記憶體中按照這個先後順序連續存放在一起。

3、陣列元素用整個陣列的名字和它自己在陣列中的順序位置來表示。例如,a[0]表示名字為a的陣列中的第一個元素,a[1]代表陣列a的第二個元素,以此類推。

14樓:匿名使用者

int *a和int a [ ] 的區別,就等價於指標與陣列的區別。

指標與陣列的區別:

1、指標的本質是一個與地址相關的複合型別,它的值是資料存放的位置(地址);陣列的本質則是一系列的變數。

2、陣列名對應著(而不是指向)一塊記憶體,其地址與容量在生命期內保持不變,只有陣列的內容可以改變。指標可以隨時指向任意型別的記憶體塊,它的特徵是"可變",所以我們常用指標來操作動態記憶體。

3、當陣列作為函式的引數進行傳遞時,該陣列自動退化為同型別的指標。

15樓:落楓秋痕

int a 這樣的定義是不符合語法的吧。除非 後面這樣寫int a=;

int *a;則是 指定義一個int 型別的指標 用來指向一個用來存放int型資料的地址。

陣列名 所表示的意思是 該陣列起始地址。不是有沒有區別的問題。它們根本是在不同的情況下使用的。

你可以用陣列名錶示陣列第n個元素 *(a+(n-1)) 你也可以定義 一個指標指向 第n個元素

int *p=&a[n-1];

***********************************====

你所給的例子中使用是合法的 形參表示型別。int a表示一個整型陣列。

16樓:盤國英譚婷

int*a指的是定義一個指向int型別資料的指標a,inta指的是定義一個整數變數a,

int*

a跟int

*a是一樣的,只是int

*a更嚴謹,

比如,int

*a,b;

只有a是指標變數

int*

a,b;

容易讓人覺得a和b都是指標

17樓:圭時芳哈霜

int*a[5]是指標陣列,int(*a)[5]是陣列指標,前者表示一個陣列,陣列元素都是指向int型變數的指標,後者表示一個指標,該指標指向一個int型有5個元素的陣列,希望對你有所幫助

18樓:匿名使用者

一樣。陣列名就是指向陣列首元素的指標。

比如說吧,

int a[100];

那麼 a 就是 指向 a[0] 的指標。

也就是 a==&a[0]

19樓:德昂當

int a[n] 會分配一塊儲存n個int型資料的區域。

int *a; 則不會

void fun(int a, int n) //函式傳遞陣列引數時,要傳遞的是陣列的地址,int a這不是地址

void fun(int *a, int n) //要這樣寫

20樓:想買好東東

若你只寫int *a,只是定義了一個指標還沒有為陣列分配空間,後面還要new空間

而int a應該已經分配空間了

21樓:匿名使用者

在c語言裡,int a這種寫法是錯誤的。中括號內必須有正整數值,表示陣列中有多少個元素。

int *a,是定義了一個指標變數叫a,這個a指向的記憶體單元中存放的是一個整數。

int a[10],是定義了一個陣列變數a,該變數佔據10個整數的儲存空間,存放了10個整數。

22樓:匿名使用者

int a [ ]是一個放int型資料用的陣列

int *a是一個int型別的指標

c語言中int *a[5]和int(*a)[5]有什麼區別嗎

23樓:飄棉絮絮

int*a[5]是指標陣列,int(*a)[5]是陣列指標,前者表示一個陣列,陣列元素都是指向int型變數的指標,後者表示一個指標,該指標指向一個int型有5個元素的陣列,希望對你有所幫助

24樓:匿名使用者

第一個a是個陣列名,裡面儲存的是int指標。

第二個a是個指標名,它指向一個包含5個資料的int陣列。

c語言中我把int型資料賦給char型如

int a char b a 24 b a 沒有問題,編譯的時候會有warning 但是要注意char int 的數值範圍 a 3.2 賦值後,a的值將變成3 浮點型專轉為整型,小數屬部分會被舍掉 int和char是相通的,兩者之間可相互賦值,按上述 b對應的是一個控制字元cancel 如果把浮點型...

在c語言中怎樣隨機給變數賦值

在c語言 bai中,獲取隨機數的du函式為rand 1 宣告 zhi daoint rand void 2 標頭檔案 stdlib.h 3 功能 獲取一內個隨機數容。4 示例 int a rand 獲取一個隨機數並賦值給a int b rand 100 獲取一個0 99的隨機數,並賦值給b。c語言c...

C語言中可以給指標變數賦值常數嗎

1 申請了空間 在常量區 存放了字串 2 在字串尾加上了 0 3 返回地址,這裡就是返回的地址賦值給了p 字串常量 hello 出現在一個表示式中時,hello 表示式使用的值就是這些字元所儲存的地址 在常量區 而不是這些字元本身。所以,可以把字串賦值給指向字元的指標p,而不能把字串賦值給一個字元陣...