【发布时间】:2014-10-12 21:34:26
【问题描述】:
它不返回一个 int 或其他东西吗? 这是我的代码的 sn-p:
int wordlength(char *x);
int main()
{
char word;
printf("Enter a word: \n");
scanf("%c \n", &word);
printf("Word Length: %d", wordlength(word));
return 0;
}
int wordlength(char *x)
{
int length = strlen(x);
return length;
}
【问题讨论】:
-
A
char不是字符串... -
但我读到 strlen 想要一个 char 作为参数。因此,wordlength 需要 x 的字符。当用户输入一个单词时,它将被视为一个字符。另外,我的教授告诉我们在使用 strlen 时输入
。 -
@Evyione: 不,
strlen需要char *(实际上是const char *),而不仅仅是char。 -
“我读到 strlen 想要一个 char 作为参数”——不,你没有读到……而且它没有意义。 “所以,wordlength 想要一个 x 的字符”——不,它想要一个指向 char 的指针……这就是你给它的,但关键是
word只有 1 个字符长。你需要把它变成一个字符数组,大到足以容纳你希望阅读的任何单词。