gpt4 book ai didi

'outchar' 的冲突类型

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

我是 C 编程的新手。我通过阅读章节和做 Herbert Schildt 的“自学 C”一书中的例子来学习。我正在尝试在 Dev C 中运行这个程序:

#include <stdio.h>
#include <stdlib.h>

main()
{
outchar('A');
outchar('B');
outchar('C');
}

outchar(char ch)
{
printf("%c", ch);
}

但是我在编译的时候遇到了这个错误:

20  1   C:\Dev-Cpp\main.c   [Error] conflicting types for 'outchar'

21 1 C:\Dev-Cpp\main.c [Note] an argument type that has a default
promotion can't match an empty parameter name list declaration

15 2 C:\Dev-Cpp\main.c [Note] previous implicit declaration of 'outchar' was here

请帮我解决这个问题!

最佳答案

这是因为你在使用它之前没有声明 outchar。这意味着编译器将假定它是一个返回 int 并采用未定义数量的未定义参数的函数。

在使用函数之前,您需要添加一个原型(prototype) pf:

void outchar(char);  /* Prototype (declaration) of a function to be called */

int main(void)
{
...
}

void outchar(char ch)
{
...
}

请注意 main 函数的声明也与您的代码不同。它实际上是官方 C 规范的一部分,它必须返回一个 int 并且必须接受一个 void 参数或 intchar** 参数。

关于 'outchar' 的冲突类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864298/

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