嗯,我很难完成此操作。我实际上是想创建一个从scanf命令返回一个简单单词的函数,以将其调用到主代码中。我知道函数不能正确返回数组,但是我看过很多教程,但还不了解。用于通用目的。谢谢
#include <stdio.h>
#include <cstring>
int function () {
char word[100];
scanf("%s",&word);
return word;}
int main () {
char word2[100]= function();
}
在您的代码int function()
中,此函数的返回值为int
,但您想获取字符串,因此请使用char * function()
。
而且,scanf("%s",&word);
请勿将&
用于字符数组。
您的代码示例:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char * function () {
char * word = malloc(sizeof(64));
if (!word)
return NULL;
scanf("%s",word);
return word;
}
int main () {
char * word2 = function();
printf("%s\n", word2);
return 0;
}