c語言inta210123這種定義是非法的嗎?為

2022-03-04 04:41:38 字數 6334 閱讀 9306

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列 因此,陣...