0
char match (char*, int n);

int 
main (int argc, char *argv[]) {
  char *query;
  int n = 3;
  query = argv[1];   /*argv[1] = "string" */
  match (query, n)
  return 0;
}

char
match (query, n) { ... }

我正在尝试访问两个参数(查询和 n),但出现错误:参数“查询”与原型不匹配,并且错误:原型声明

4

2 回答 2

4
char
match(query, n) {

对 和使用隐式 int(C99 禁止的 K&R 和 C89 功能queryn。编译器将其视为您编写了match(int query, int n). 您还必须在函数定义中显式提供类型:

char
match(char *query, int n) {
于 2013-06-01T12:02:10.300 回答
2

在函数定义中,

char
match(query, n) {

应包括参数类型:

char
match(char *query, int n) {
于 2013-06-01T12:00:53.853 回答