乙個 int i 在 C 中合法嗎?

發布 科技 2024-04-06
28個回答
  1. 匿名使用者2024-02-07

    非法。 首先,如果 int() 是乙個函式,它顯然是關鍵字的重複,所以它不是乙個函式。

    其次,如果是強制轉換,形式應該是(int)i,至於上面所說的,它可能是他們的編譯器。

    它支援C++和類似的東西。

  2. 匿名使用者2024-02-06

    合法的力型別轉換,前提是定義的型別為整數。

  3. 匿名使用者2024-02-05

    合法,a=int(i); int() 將 i 的型別轉換為 int 型別。

  4. 匿名使用者2024-02-04

    合法的,顯然是型別鑄造。

  5. 匿名使用者2024-02-03

    合法的是演員型別。

  6. 匿名使用者2024-02-02

    型別轉換在 C 中已經存在,並且可以在 C++ 中繼續使用。 在 C 樣式強制轉換中,目標資料型別放在一堆括號中,然後放在源資料型別的表示式之前。 在 C++ 中,允許將目標資料型別用作函式,並將源資料型別表示式放在一對括號中,這稱為“函式樣式”強制轉換。

    以上兩種選角沒有本質區別,只是在書寫形式上略有不同。 即:

    t)expression //c-style castt(expression) //function-style cast

    a=int(i);C 將報告錯誤,C++ 等價於 a=(int)i;

  7. 匿名使用者2024-02-01

    不。 a 後面的內部不能為空,陣列的大小必須用常量指定,例如:a[10] 等。

    內部也不能是空的,必須至少有乙個元素。 如:

    int a[3]=;

    或。 int a[3]=;

    分號 (; 否則,也會出現錯誤。

  8. 匿名使用者2024-01-31

    上面的開頭是頂端的,只要{}裡有初始化元素,就可以這樣寫。 字串通常像這樣初始化:

  9. 匿名使用者2024-01-30

    否,必須指定陣列的長度。

  10. 匿名使用者2024-01-29

    if(a[i]) 是執行 if 判斷的複製句體,a[i] 是 1。

    價值。 在 C++ 中,有乙個隱式型別轉換,如果乙個數字不是 0,則將其轉換為 true,否則將其轉換為 false。

    因此,if(a[i]) 用於確定 a[i] 是否為 0,如果為 0,則 if(a[i]) 為 false,否則將進入 if 子語句。

  11. 匿名使用者2024-01-28

    首先,我們要想,如果()是判斷()中條件的真假,那麼很簡單,說白了,a[i]的值是真是假,我不知道你a是什麼型別,只要a[i]不等於0,就返回真假

  12. 匿名使用者2024-01-27

    int a,b;定義 int 變數,即整數變數 a、b

    a=1+'a';因為 a 是 int 型別,所以後面的字元'a'隱式轉換為 int 型別和字元'a'在 ASCII 程式碼中,它是 97,所以 a=1+97=98

    b=2+7%-4-'a';其中 7%-4 是 7 除以 -4 後的餘數,在 C 中,無論正數除以正數還是負數,得到的餘數始終是正數,商向下取,所以餘數是 +3,在 ASCII 碼中,'a'=65,綜上所述,b = 2 + 3-65 = -60

  13. 匿名使用者2024-01-26

    我選錯了BA。 型別不正確,++p 為 int*,a[1] 為 int。

    b 正確。 DUP++ 僅更改指標 P 的值,而不更改 P 指向的位址的值。

    c 錯誤。 int 型別不允許 ++ 操作。

    d 錯誤。 int 型別不允許 ++ 操作。

    例如:++p; 等價於 a[1]。

    確切的表示式是 ++p 指向乙個位址,即 &a[1]; 因為前面有 p=a; 也就是說,最初,讓 p 指向 a 的起始位址。

    這裡 ++ 是字首加加號,在使用前應該在表示式中加 1,所以它指向 a[1]。

    #include

    int main()這裡要製作乙個儲存空間,需要確定陣列的大小。

    p=a;+p;

    printf("%d %d",*p, a[1]);輸出值。

    輸出位址。 return(0);

  14. 匿名使用者2024-01-25

    a++ 和 p++ 都是左值,在語句中,它們只能出現在賦值號的左側。 從理論上講,b、c 和 d 都是錯誤的。

    合法操作是。

    p;等價於 a[1]。

    確切的表示式是 ++p 指向乙個位址,即 &a[1]; 因為前面有 p=a; 也就是說,最初,讓 p 指向 a 的起始位址。

    這裡 ++ 是字首加加號,在使用前應該在表示式中加 1,所以它指向 a[1]。

    #include

    int main()這裡要製作乙個儲存空間,需要確定陣列的大小。

    p=a;+p;

    printf("%d %d",*p, a[1]);輸出值。

    輸出位址。 return(0);}

  15. 匿名使用者2024-01-24

    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 的第二個元素,依此類推。

  16. 匿名使用者2024-01-23

    在此語句中,++a 表示對變數 a 執行自動遞增操作,首先將 1 加到 a 的值上,然後將該值賦值給 c。 因此,c 的值是 a 加 1 的值,即 6

  17. 匿名使用者2024-01-22

    int&

    a 是引用的含義,它等效於原始變數之一。

    複製。 例如,intn=

    4;int&a=

    n;在這種情況下,a 和 n 是一回事,更改 a 的值將改變 n 的值。

    在函式的引數中定義引用也意味著同樣的事情。 例如:

    voidfun(int&

    a);函式 intn=

    定義變數 nfun(n);

    呼叫 fun 函式。

    在這種情況下,在fun中使用變數a就等價於使用變數n,在函式中改變a的值,n的值也會同時變化,在form引數中定義引用,可以作為輸出引數。

    定義引用的好處是,當你傳遞乙個值時,系統會開啟乙個新的記憶體來儲存輸入函式的值,而使用引用跳過這一步,有利於提高程式的效率。 如果函式被傳遞到大型陣列中,這一點尤其重要。

    當然,指標也可以做到這一點,但引用的執行效率比指標更有效。

    如果不需要更改函式中引用的值,則可以按以下方式定義 void

    fun(const

    int&a);

  18. 匿名使用者2024-01-21

    在 C++ 中,nt &a 表示定義引用。

    引用等效於指標,然後等效於值,he 和引用的變數都表示同一段記憶體。

    int&)a:儲存單元中 a 的值無需轉換即可獲得。

    int)a:將記憶體中 a 的值轉換為 int 型別。

  19. 匿名使用者2024-01-20

    定義變數時,* 表示指標。

    例如,int * a,表示 a 是指向 int 的指標 int **a 等價於 (int *) a,表示 a 是指向 int * 的指標(通俗地說,a 的值是指標,或位址),即指向 int 指標的指標,即指向 int 指標的指標,即 2 級指標。

    int m = 1;

    int *p = &m;

    int **a = &p;

  20. 匿名使用者2024-01-19

    nt &b = i;這裡 b 是引用,它是對變數 i 的引用,引用是指標,兩者之間沒有區別。 我們。

    將引用視為不需要"*"可以訪問變數的指標,以上兩個程式完成的函式與以下程式的功能相同。

    你的 int &a

    它也應該採用 void function(int &a) 的形式,傳遞引數。

  21. 匿名使用者2024-01-18

    當 int* a 和 int* b 後跟分號時,int* a; 是乙個指標 a,int*b,它宣告或宣告它指向乙個 int 變數; 是乙個指標 B,它宣告或宣告它指向乙個 int 變數。 問題中兩者後面都沒有分號,這應該說是錯誤的陳述。 行話是這樣說的:

    int* a;宣告 int* 指標 a, int* b; 它是宣告 int* 指標 b。 當然,要明白指標的型別是指它所指向的目標型別。

  22. 匿名使用者2024-01-17

    int* 是指向 int 的指標。

    char* 是指向 char 的指標。

    A 是對指標 A 的取消引用。

    char* p;是 char*p = &c 型別的指標;將 c 的位址分配給 p,指向儲存的記憶體 int b = 3;

    int* a = &b;取 B 的位址並分配指標 a*a = 4; 將 a 指向的位址的記憶體內容改為 4,因為 a 指向 b,所以執行完這句話後,b = 4

  23. 匿名使用者2024-01-16

    &a 是儲存 a 的記憶體位址,例如變數 a=1,&a 等於儲存 1 的記憶體位址的值 A 是這個陣列 a 的起始儲存單元位址,&a 和 a 可以看下面的參考。

  24. 匿名使用者2024-01-15

    定義指向整數資料位址的指標變數。

    例如:int*a;

    int b=10;

    a=&b;printf("%d",* a);

    其結果是 10。

  25. 匿名使用者2024-01-14

    實際上,int &a 是定義指標的意思。

  26. 匿名使用者2024-01-13

    int *a 和 int a [ 之間的差值等價於指標和陣列之間的差值。

    指標和陣列的區別:

    2.陣列的名稱對應(而不是指向)一段記憶體,其位址和容量在其生命週期內保持不變,只能更改陣列的內容。 指標可以隨時指向任何型別的記憶體塊,其特點是:"變數",所以我們經常使用指標來操縱動態記憶體。

    3. 當陣列作為引數傳遞給函式時,陣列會自動退化為相同型別的指標。

  27. 匿名使用者2024-01-12

    像 int a 這樣的定義不是句法的。 除非 int a=;

    int *a;它是乙個指標,用於定義 int 型別並指向用於儲存 int 資料的位址。

    陣列的名稱表示陣列的起始位址。 這不是是否有區別的問題。 它們只是在不同的情況下使用。

    您可以使用陣列名稱來表示陣列 *(a+(n-1)) 的第 n 個元素,您還可以定義指向第 n 個元素的指標。

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

    在您給出的示例中,使用表單引數來表示型別是合法的。 int a 表示整數陣列。

  28. 匿名使用者2024-01-11

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

    A 與 INTA 相同,但 INT

    A 更嚴謹,例如 int

    a,b;只有 a 是指標變數。

    int*a,b;

    很容易認為 A 和 B 都是指標。

相關回答
15個回答2024-04-06

指示取 6 的餘數。

在 C 語言中,% 代表餘數(或模運算)。 >>>More

12個回答2024-04-06

這是我寫的乙個可以判斷溢位的加法函式:

#include >>>More

11個回答2024-04-06

C 語言的有效變數名稱:

首先,它只能包含數字、字母和下劃線。 >>>More

8個回答2024-04-06

分號是語句結尾的符號,但迴圈後不使用分號,if、and 子函式如 long long a (int b) 等,其他所有都用了,但不能加兩個分號,雖然不會造成錯誤,但可能會影響結果。

13個回答2024-04-06

C語言是程式設計師的必修語言,所有的語言基本上都是建立在C語言之上的,它是計算機語言的基礎,作為程式設計師必須努力學習。