gpt4 book ai didi

c - 为什么在 o/p 中 i 的值不同

转载 作者:行者123 更新时间:2023-11-30 18:43:06 26 4
gpt4 key购买 nike

为什么我得到不同的 i 值。

#include <stdio.h>
void pri(int,int);
int main()
{
float a=3.14;
int i=99;
pri(a,i);
getch();
}
void pri(int a,int i)
{
printf("a=%f i=%d\n",a,i);
printf("i=%d a=%f\n",i,a);
}

最佳答案

您将 a 声明为 int,但您使用的是 %f,因此应将其声明为 float:

void pri(float a, int i)
{
printf("a=%f i=%d\n", a, i);
printf("i=%d a=%f\n", i, a);
}

如果你的类型不正确,你会得到未定义的行为。 printf 的规范如下(7.19.6.1 第 9 段):

If a conversion specification is invalid, the behavior is undefined. If any argument is not the correct type for the corresponding conversion specification, the behavior is undefined.

强调我的。

Source

关于c - 为什么在 o/p 中 i 的值不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12616738/

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