簡體   English   中英

在方法中傳遞一個char數組作為參數,C語言

[英]Passing a char array as parameter in method, C language

這是我的第一個 C 語言編碼。 這是為了我的課程,我有一些麻煩。

  1. 我想將 char[] 作為參數傳遞給方法
  2. 我想將此字符 [] 復制到另一個字符 []。 為此,我正在使用 strcpy。

所以當我這樣做時:

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.

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