C -错误:下标值既不是数组,也不是指针或向量
我必须找出其中有某种特征的单词的数量,我从论点中得到的。我必须用一般的投入来工作。我做了一个函数,但它不起作用。我不知道如何正确处理参数C -错误:下标值既不是数组,也不是指针或向量,c,C,我必须找出其中有某种特征的单词的数量,我从论点中得到的。我必须用一般的投入来工作。我做了一个函数,但它不起作用。我不知道如何正确处理参数 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); } 假设ar
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]);
}
假设
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]);
}
假设
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]);
}
假设
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]);
}
我就是喜欢这个↑...@用户2975913不客气!看一下编辑,通过传递单个
char
可以让您在main
中保留命令行属性,而不会将其“溢出”到其他函数中。我很喜欢这一点↑...@用户2975913不客气!看一下编辑,通过传递单个char
可以让您在main
中保留命令行属性,而不会将其“溢出”到其他函数中。我很喜欢这一点↑...@用户2975913不客气!看一下编辑,通过传递单个char
可以让您在main
中保留命令行属性,而不会将其“溢出”到其他函数中。我很喜欢这一点↑...@用户2975913不客气!查看编辑,通过传递单个char
可以在main
中保留带有命令行属性的工作,而不会“溢出”到其他函数中。您会遇到哪些错误?它们有助于找出问题所在。你需要阅读一本初级C语言书并加以注意。由于这是一个练习,我将尝试引导你找到答案。x=argv[1][0]
这是不正确的,argV
应该是一个一维字符数组,但这里介绍的是如何处理二维数组。你的问题之一是,试着一行一行地修改你的代码,并准确地理解你在做什么。这是一个初学者级别的问题,但绝对不是一个“gimmecodez”:在寻求帮助之前,你需要付出一些真正的努力。投票重新开放。你会犯什么错误?它们有助于找出问题所在。你需要阅读一本初级C语言书并加以注意。由于这是一个练习,我将尝试引导你找到答案。x=argv[1][0]
这是不正确的,argV
应该是一个一维字符数组,但这里介绍的是如何处理二维数组。你的问题之一是,试着一行一行地修改你的代码,并准确地理解你在做什么。这是一个初学者级别的问题,但绝对不是一个“gimmecodez”:在寻求帮助之前,你需要付出一些真正的努力。投票重新开放。你会犯什么错误?它们有助于找出问题所在。你需要阅读一本初级C语言书并加以注意。由于这是一个练习,我将尝试引导你找到答案。x=argv[1][0]
这是不正确的,argV
应该是一个一维字符数组,但这里介绍的是如何处理二维数组。你的问题之一是,试着一行一行地修改你的代码,并准确地理解你在做什么。这是一个初学者级别的问题,但绝对不是一个“gimmecodez”:在寻求帮助之前,你需要付出一些真正的努力。投票重新开放。你会犯什么错误?它们有助于找出问题所在。你需要阅读一本初级C语言书并加以注意。由于这是一个练习,我将尝试引导你找到答案。x=argv[1][0]
这是不正确的,argV
应该是一个一维字符数组,但这里介绍的是如何处理二维数组。你的问题之一是,试着一行一行地修改你的代码,并准确地理解你在做什么。这是一个初学者级别的问题,但绝对不是一个“gimmecodez”:在寻求帮助之前,你需要付出一些真正的努力。投票重新开放。