gpt4 book ai didi

c - ‘outchar’, 'outint',但不是 'outfloat'

转载 作者:行者123 更新时间:2023-11-30 19:34:12 25 4
gpt4 key购买 nike

我正在学习 C,因为我有一本书,尽管它和我一样老。我正在使用turboc++,当我返回0时它就可以工作;在函数结束时,但我相信这并不总是必要的。我正在做函数练习。outfloat 会给我重新声明 outfloat 时类型不匹配,但其他的可以工作。我做错了什么?

#include "stdio.h"

main()
{
outchar('A');
outnum(2);
outfloat(3.3);
return 0;
}


outchar(char ch)
{
printf("%c",ch);
return 0;
}
outnum(int x)
{
printf("%d",x);
return 0;
}
outfloat(float z)
{
printf("%f",z);
return 0;
}

最佳答案

由于您没有为所使用的任何函数提供原型(prototype),编译器假定它们的参数(和返回类型)为 int

对于前两个函数,假设“有效”。

对于最后一个函数,假设失败,因为 float 类型的参数与(假设的)类型 int 不兼容。

最好的选择是始终为您使用的函数提供原型(prototype)。在简单的代码中,您可以使用函数定义也充当原型(prototype)的事实,并将定义移至 main() 之前。

#include <stdio.h>

/* prototypes */
int outchar(char ch);
int outnum(int x);
int outfloat(float z);

int main(void)
{
outchar('A');
outnum(2);
outfloat(3.3);
return 0;
}

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

int outnum(int x)
{
printf("%d",x);
return 0;
}

int outfloat(float z)
{
printf("%f",z);
return 0;
}

关于c - ‘outchar’, 'outint',但不是 'outfloat',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44221317/

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