[英]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.