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,而不能把字串賦值給一個字元陣...