簡體   English   中英

從C中的* char []變量獲取第一個char

[英]get first char from *char[] variable in C

我想在C中獲取字符串的第一個字符(char [])

unsigned int N;
unsigned int F;
unsigned int M;
char C;
int main (int argc, char *argv[]){
    if (argc!=5){
        printf("Invalid number of arguments! (5 expected)\n");
        exit(-1);
    }
    N = atoi(argv [1]);
    F = atoi(argv [2]);
    M = atoi(argv [3]);
    C = (char) argv[4]; //this way gives a wrong char value to variable C

上面的代碼給了我警告:從不同大小的整數轉換為指針。

編輯:正如評論中所指出的,argv是char * [],而不是char []。

有兩種主要方法可以做到這一點。 第一種是簡單地取消引用指針。

C = *argv[4];

您也可以通過數組下標來執行此操作,該數據下標在解除引用之前會隱式地向指針添加偏移量。

請務必先檢查它是否為空,依此類推。 通常,在處理指針時需要小心。

argv[4]是一個char數組。 您需要取消引用該數組以從中獲取單個元素

C = *(argv[4]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM