1樓:章天和英奕
inta1[10]=;
//為什麼這樣定義可以(把字元1,2,3的ascii碼分別賦給a1裡三個元素)
inta2[10]="123";
//為什麼這樣定義就不行了?
2樓:匿名使用者
你定義的陣列是int的,單個字元 '1','2','3'是可以表示char裡的'1','2','3',也可以被強制轉換成int的49,50,51,但"123"是字串,是不能強制轉換成int數字的,還有c語言裡單引號是字元,雙引號是字串,雙引號的只能表示字串,"9"是字串,'9'是字元'9'或數字57
3樓:
因為引號裡面一個數字,按照int型儲存的話,就是儲存這個數字的ascii碼,而引號裡面多個數字連續,沒有相應這個整體的ascii碼,便視其為字串,字串當然不能用int型,而char型可以儲存單一數字也是這個道理,他儲存的不是一個有直接參與計算能力的數字大小,而是這個數字字元。
c語言中的int (*a[10]) (int)是什麼意思?舉個小例子吧
4樓:顛倒的世界
定義一個有10個元素的整型(int)陣列,陣列元素從a[0]到a[9],不包括a[10],操作方法如下:
1、新建一個工程和.c檔案,輸入標頭檔案和主函式。
2、宣告函式並且初始化陣列,如下圖所示。
3、然後通過呼叫函式輸出二維陣列的值,如下圖所示。
4、然後定義一個函式,呼叫函式如下。
5、最後點選編譯、執行,如下圖所示就完成了。
5樓:只吃餿飯
這樣的表示式可以遵循這樣的規則:從右向左,由近及遠,括號優先;比如從a符號開始。其右邊是[10],說明a是個陣列,其中存了十個元素。
再看a的左邊是一個*。說明陣列中存的是指標。
現在在看(*a[10])的右邊是(int);說明所存的指標是指向有一個int形參的函式
現在看(*a[10])的左邊是個int ,說明指向的函式的返回值為int 型別;
下面是**;不過為了簡化,我把陣列改成了長度為3。但是不影響理解。
#include
int a1(int);
int a2(int);
int a3(int);
int main()
int a1(int x)
int a2(int x)
int a3(int x)
希望對你有幫助。
6樓:
int (*a[10]) (int)——a是具有10元素的陣列,它的每一個元素都是指向函式的指標,這些指標指向的函式具有一個int型形參、返回一個int值。
7樓:匿名使用者
定義一個指標陣列,只不過這些指標是指向函式的指標,例如:
int (*a[10]) (int);
int fun(int x)
a[0]=fun;
printf("%d\n",a[0](5));
8樓:匿名使用者
這個是定義了一個函式指標陣列,指向的函式型別是int func(int)
比如:int func1(int n)
int func2(int n)
int main()
;a[0] = func1;
a[1] = func2;
a[0](1);
a[1](2);
return 0;}
9樓:匿名使用者
實際效果是:
int a[10]=;
a[0][0]=1;
a[1][0]=2;
依此類推
10樓:邗譽是寶
1、f(int
a)是自己定義的函式..
main()
2、函式呼叫的一般形式為:
函式名(實參列表);
實參可以是常數、變數、表示式等,多個實參用逗號,分隔。
在c語言中,函式呼叫的方式有多種
c語言中,int為什麼不能作為識別符號?請高人具體指點下標認符的含義。
11樓:匿名使用者
int是用來定義整型變數的
是變數名不能用關鍵字. 不能作為識別符號
12樓:匿名使用者
int 是c語言的關鍵字
簡單點說 就是被系統用了 系統不允許你再重新定義了
c語言中的long int f=123l 結果在printf中f=%ld 為什麼f=123
13樓:吉祥二進位制
%ld:在c語言標準輸入輸出中表示的的是長整型資料。
long int f=123l;//
字尾l或者l表示該常量為long int型別。如同浮點數的f或者f表示是單精度浮點數,不會輸出的。
14樓:匿名使用者
l只是說明123是一個長整型資料,但是它的數值還是等於123,因此輸出時當然還是123,因為不論是長整型也好,整形也好,123的數值都是相同的啊
15樓:蓬萊
首先,「long int f=123l」這個賦值語句就規定了f為一個長整形數,而123l即為一個長整形,然後"printf 中f=%d"讓f以長整形的格式輸出,所以是123吶
16樓:匿名使用者
123l表明123是一個長整型。printf輸出的時候是不會帶限定符如」l「的。
17樓:匿名使用者
是不是應該寫的是print("f=%lf",f);啊?
18樓:匿名使用者
666666666666666666666
c語言如何將int型別轉換成字串
19樓:king_康先生
c語言copy將int型別轉換成字串參照以bai下**:
目前在一du般的電腦中,int佔用4位元組,32位元,資料範圍zhi為-2147483648~2147483647[-2^31~2^31-1]
在之前dao的微型機中,int佔用2位元組,16位元,資料範圍為-32768~32767[-2^15~2^15-1]
使用printf輸出int佔用位元組數量:
除了int型別之外,還有short、long、long long型別可以表示整數。
unsigned int 表示無符號整數,資料範圍為[0~2^32-1]
20樓:匿名使用者
簡單的可以用強制型別轉換,但是資料長度不同,轉換後可能會出錯。專可以定義一個共同屬體,int型別與char型別指向同一片區域,例如:
typedef union int_char;union int_char xdata tmp;
則tmp.word 為int型別,對應字元陣列為tmp.byte[0]、tmp.byte[1]。
21樓:小綿羊與小排骨
用baiitoa()或者用sprintf()char a1[10],a2[10];
int n;
n=10;
_itoa(n,a1,10);//這樣
把dun作為字串zhi寫入daoa1
sprintf(a2,"%d",n);//這樣把n寫入字串a2輸出可以用版printf
printf(a1);//輸出a1
printf(a2);//輸出a2
詳細請參
權見:http://zhidao.
22樓:匿名使用者
char buffer[100];
sprintf(buffer,"%d",88);
c語言裡++是什麼意思 10
23樓:大野瘦子
自增1的意思,比如 int i=1; i++後i的值就變為了2.
兩種用法:
假如定義了一個變數i=1
1、若使用i++, 指代先取i的值再另i=i+1
2、若使用++i,指代先使i=i+1再取i的值
注意的就是i++和++i的區別,前者是運算完後自增1,後者是自增1後再運算。
c語言運算子
一、常見的加減乘除運算
1、加法:+ 還可以表示正號
2、減法:- 還可以表示負號
3、乘法:* 非數學意義上的x
4、除法:/ 注意1/2的值為0而非0.5
5、取餘(模運算):兩個整數相除之後的餘數(注意兩邊都必須是整數,帶符號只和左值有關)
二、自增自減運算
int a=10;
把a的值加1有四種方法:
1、a=a+1;
2、a+=1;
3、a++;
4、++a;
簡單區分a++和++a。
int b;
int a=10;
b=++a; //a==11,b==11;a先把值加1為11,再賦值給b
b=a++; //a==11,b==10;a先把值10複製給b,a自己再加1為11
b=(a++)+(++a); //a1==10,a2==12,b==22
b=(++a)+(a++); //a1==11,a2==11,b==22
注意:int d=10++;//這種寫法是錯誤的,因為對常量進行自加和自減沒有任何意義。
24樓:w王
c語言中「++」是自加的意思。
1、自加,有兩種用法:假如定義了一個變數i=1
(1)若使用i++, 指代先取i的值再另i=i+1
(2)若使用++i,指代先使i=i+1再取i的值
2、c語言中的運算子的優先順序從高到低大致是:單目運算子、算術運算子、關係運算子、邏輯運算子、條件運算子、賦值運算子(=)和逗號運算子。
擴充套件資料:
c語言的語法結構:
1、順序結構:程式設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
2、選擇結構:程式雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用選擇結構。
3、迴圈結構:可以減少源程式重複書寫的工作量,用來描述重複執行某段演算法的問題,這是程式設計中最能發揮計算機特長的程式結構。
具體內容:
1、for迴圈:for迴圈結構是c語言中最具有特色的迴圈語句,使用最為靈活方便,它的一般形式為:
for(表示式1;表示式2;表示式3)迴圈體語句 。(其中;不能省略)
for迴圈語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的迴圈語句。
2、do:
do迴圈結構,do 1 while⑵;的執行順序是1->2->1...迴圈,2為迴圈條件。
3、while:
while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件
以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。
25樓:墨陌沫默漠末
c語言裡++是自增運算子,表示自加的意思,有如下兩種用法:
假如定義了一個變數i=1
1) 若使用i++, 指代先取i的值再另i=i+1
2)若使用++i,指代先使i=i+1再取i的值
++在前是先給變數的值自加,及自身加一,再用變化後的值去參與運算。而++在後,則是先用原來的值參與運算,遇到一個特殊序列點(&&或||或,或?:或;)才使變數自加。
若b=3,a=b++;則a=3,b=4。若a=++b,則a=4,b=4。
c語言中其他類似的運算子:
1、( type-name ) cast-expression,強制表示式成為type-name指定的型別。
2、「 * 」 乘法運算子;「 / 」除法運算子;「 % 」 取餘運算子。
3、「 + 」加法運算子;「 - 」減法運算子。
4、<< 左移運算子;>> 右移運算子。
5、<、<=、>、>=關係運算子。
6、「 == 」等於運算子;「 != 」不等於運算子。
7、「 & 」按位與運算子
8、「 ∧ 」按位異或運算子(bitwise exclusive or operator)。
9、「 | 」按位或運算子(bitwise inclusive or operator)。
c語言程式設計inta和inta有區別嗎
int a是定義一個整型指標變數a。int a 沒有這種寫法。int a 1 定義a是一個陣列。2 每一個陣列的元素是一個指標,指向一個整數。int a 將指標變數a強制轉換為整型指標,說明a一般不是一個整型指標,也可以是個整型指標。int a 1 定義a是一種指標。2 a指向一種整數陣列。陣列的建...
inta01f輸出什麼,c語言中inta1,b2,cc10ba輸出結果為什麼
chenqin231 已經回答得非常棒了,0.1f這個值會被截斷,取其整數部分,所以,列印a值為0,希望能對你有所幫助,另外,建議你讀一些c語言方面的基礎書籍。a的值被截斷,當你用printf列印a值為0 應為 0 但是0.1f是float型別,前面應該有 int main int f int in...
C語言題目若有說明inta51,
表示二維陣列,第一個表示行數,第二個表示每一行最大容量。所以第一框為 3。c語言的陣列問題,若有定義 int a 2 3 以下選項中對a陣列元素正確引用的是 a.a 2 1 b.a 2 3 選d。一個二維陣列可以被認為是一個帶有 x 行和 y 列的 下面是一個二維陣列,包含 2 行和 3列 因此,陣...