[英]Passing a char array as parameter in method, C language
這是我的第一個 C 語言編碼。 這是為了我的課程,我有一些麻煩。
所以當我這樣做時:
main(){
char asd[20] = {"asd"};
insert(asd);
}
void insert(char value[]) //here value[] contains only 'd'
{
...code...
}
所以基本上,它只傳遞一個字符,而不是數組。 我試過:
main(){
char *asd[20] = {"asd"};
insert(asd);
}
void insert(char *value[]) //here value[] contains 'asd'
{
char *secondArray[20] = {' '}
strcpy(secondArray,value); // char** incompatible with "const char*"
}
我被卡住了。
您沒有正確聲明您的字符串,它們應該是字符數組而不是字符指針數組
char *asd[20] = {"asd"};
到
char asd[20] = {"asd"};
和
char *secondArray[20] = {' '}
到
char secondArray[20] = {' '}
修正后的程序:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void insert(char *value);
int main(){
char asd[20] = {"asd"};
insert(asd);
return 0;
}
void insert(char *value) //here value[] contains 'asd'
{
char secondArray[20] = {" "};
strcpy(secondArray,value); // char** incompatible with "const char*"
printf("%s",secondArray);
return;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.