我必须找到其中具有特定字符的单词的数量,我从论点中得到什么。我必须处理一般输入。我做了一个函数,但它不起作用。我不知道如何正确处理参数。
void function(char *argv) {
char x;
int c,i;
x = argv[1][0] ;
i = 0;
while((c = getchar()) != EOF) {
if(c == x)
++i;
}
printf("%d \n",i);
}
我必须找到其中具有特定字符的单词的数量,我从论点中得到什么。我必须处理一般输入。我做了一个函数,但它不起作用。我不知道如何正确处理参数。
void function(char *argv) {
char x;
int c,i;
x = argv[1][0] ;
i = 0;
while((c = getchar()) != EOF) {
if(c == x)
++i;
}
printf("%d \n",i);
}
假设这argv
与传递给 的内容相同,则main
您的函数声明不正确:它需要
void function(char *argv[]) {
... // ↑↑
}
现在您可以将argv
其视为具有两个下标运算符的字符数组。
当然,由于您没有使用argv
超出第一个参数的第一个字符的任何部分,您不妨接受一个char
,并让调用者决定它将是哪个 `char:
void function(char x) {
...
}
...
int main(int argc, char *argv[]) {
... // Check argc...
function(argv[1][0]);
}