gpt4 book ai didi

c - 为什么我的函数没有被调用?我不明白为什么需要声明

转载 作者:太空宇宙 更新时间:2023-11-04 05:11:55 24 4
gpt4 key购买 nike

大家好

这是我的代码:

主.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlite3.h"
#include "db_typedefs.h"
#include "operations.h"
int main(){
printf("Text\n");
int f = 3;
void add_mini(3);
}

操作.h

#ifndef ADD_OPERATIONS_H_INCLUDED
#define ADD_OPERATIONS_H_INCLUDED

void add_mini(int flag);
#endif // ADD_OPERATIONS_H_INCLUDED

操作.c

void add_mini(int flag)
{
int rc;
rc = flag;
printf("%i\n", rc);
}

Operations.c 也包含类似于 main.c 的库。

编译器错误

error: expected declaration specifiers or '...' before numeric constant

关于 void add_mini(3)

我似乎无法传递一个简单的整数值。在调试时它甚至跳过了 add_mini 行。你知道发生了什么事吗?


整个代码嵌入在一个更大的查询中以确定输入的订单,但这工作正常。我只是不能传递这个简单的整数值。

提前致谢。

最佳答案

当你使用

void add_mini(3);

编译器认为是函数声明,不是函数调用。参数 3 对函数声明无效。因此,编译器会报错。

去掉void部分调用函数。

int main(){
printf("Text\n");
int f = 3;
add_mini(3);
}

或者,由于您已将 f 初始化为 3

int main(){
printf("Text\n");
int f = 3;
add_mini(f);
}

关于c - 为什么我的函数没有被调用?我不明白为什么需要声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50297098/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com