gpt4 book ai didi

c - 为什么我的指针不能正确取消引用到我想要的输出?

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

<分区>

好的,这是我的代码:

#include <stdio.h>

void convert_weight(int x , char a, int* y, char* b)
{
if (a == 'F')
*y = (x-32) * 5 / 9;
*b = 'C';

if(a == 'C')
*y = x*9 / 5 + 32;
*b = 'F';
}

int main()
{

int degrees1 = 50, degrees2;
char scale1 = 'F', scale2;
convert_weight(degrees1, scale1, &degrees2, &scale2);
printf("%d %c = %d %c\n", degrees1, scale1, degrees2, scale2);
degrees1 = 10;
scale1 = 'C';
convert_weight(degrees1, scale1, &degrees2, &scale2);
printf("%d %c = %d %c\n", degrees1, scale1, degrees2, scale2);
return 0;

}

这是输出:

50 F = 10 F
10 C = 50 F

请注意,我的第一行返回的是 10 F 而不是 10 C。我不太清楚为什么会这样。如果 char a == 'F' 那么我试图通过取消引用将 scale2 设置为等于 'C',就像我对 degrees2 所做的那样,它似乎工作得很好。我在我的代码中看不到导致两个输出都得到“F”的错误。

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