将数组传递给函数并扫描字符串

时间:2016-11-21 04:48:57

标签: c arrays string pointers

我很难将字符数组传递给函数并将字符串扫描到函数中。这是我的删节代码:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define SIZE 20


void GetWord(char word[]);

main(void){

    char word[SIZE]="                   ";
    GetWord(word);

    }

void GetWord(char word[]){

  printf("Please enter a word: ");
  scanf("%s", word);

  }

该功能只会在输入任何尺寸的条目后挂起。

我知道scanf有更好的选择,但我需要使用它。谢谢!

1 个答案:

答案 0 :(得分:-1)

你必须使用指针。这应该有效:

编辑:对不起,我无法通过电话测试它。

编辑2:我编辑了函数调用。并且在主函数内部移动了指针的声明,因此我们不需要全局变量。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define SIZE 20

 void GetWord(char * secondWord);

main(void){
char * word;
GetWord(word);

}

void GetWord(char * secondWord){

  printf("Please enter a word: ");
  scanf("%s", secondWord);

  }