Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C语言中,在一行中使用多个赋值_C - Fatal编程技术网

在C语言中,在一行中使用多个赋值

在C语言中,在一行中使用多个赋值,c,C,我需要这两段代码的帮助。除了一个变化外,它们都是相同的。 我用了while(摄氏度在第二个示例中,您将lower设置为0,并且从不更改它。因此,在第二个示例中,比较lower的循环将lower设置为0,并且从不更改它。因此,比较lower和lower的循环从不更改while循环中的值,因此条件始终为真,循环永远不会终止。在某一点上,摄氏度或华氏度的值可能变得太大,从而导致崩溃。(或者更确切地说,我将“使终端崩溃”解释为“使终端无响应”。程序不会崩溃,但有太多的输出,您无法再与终端正常交互。)两

我需要这两段代码的帮助。除了一个变化外,它们都是相同的。

我用了
while(摄氏度在第二个示例中,您将
lower
设置为0,并且从不更改它。因此,在第二个示例中,比较
lower的循环将
lower
设置为0,并且从不更改它。因此,比较
lower
lower
的循环从不更改while循环中的值,因此条件始终为真,循环永远不会终止。在某一点上,摄氏度或华氏度的值可能变得太大,从而导致崩溃。(或者更确切地说,我将“使终端崩溃”解释为“使终端无响应”。程序不会崩溃,但有太多的输出,您无法再与终端正常交互。)两个程序都使用了不正确的计算
(9/5)
@M.M我纠正了那个错误。现在是(9.0/5.0)。感谢您指出。while循环中的
下限
上限
值永远不会更改,因此条件始终为真,循环永远不会终止。在某些情况下,摄氏度或华氏度的值可能变得过大,从而导致崩溃。(或者更确切地说,我将“崩溃终端”解释为“使终端无响应”。程序没有崩溃,但有太多的输出,你无法与终端正常交互。)两个程序都使用了错误的计算
(9/5)
@M.M我纠正了这个错误。现在是(9.0/5.0)。谢谢你指出。我想问另一件事。在第一个代码中(正在运行),终端给出1.000、2.000、3.000等输出值,2个自然数之间没有2.485等值。基本上,它给出的是浮点值,但仍然有问题。可能是什么?@HarshitJindal:使用浮点运算-
摄氏度*(9.0/5.0)+32.0
或类似值。(就我个人而言,我更喜欢
fahrenheit=(摄氏+40.0)*(9.0/5.0)-40.0;
,因为反过来是
cellices=(华氏+40)*(5.0/9.0)-40.0;
,但这是一个完全不同的讨论。)重要的是,将
9
5
中的一个视为浮点;然后其余的将按此处理。我想问另一件事。在第一个代码中(这是有效的),终端给出1.000、2.000、3.000等输出值,2个自然数之间没有2.485等值。基本上,它给出的是浮点值,但仍然有问题。可能是什么?@HarshitJindal:使用浮点运算-
摄氏度*(9.0/5.0)+32.0
或类似值。(就我个人而言,我更喜欢
fahrenheit=(摄氏+40.0)*(9.0/5.0)-40.0;
,因为它的反面是
cellices=(华氏+40)*(5.0/9.0)-40.0;
,但这是一个完全不同的讨论。)关键是
9
5
中的一个被视为浮点;然后其余的都会跟进。
#include <stdio.h>

//program to print celsius to fahrenheit table

int main (void)
{
    float celsius, fahr;
    int lower, upper, step;

    celsius = lower = 0;
    upper = 100;

    while (celsius <= upper)
    {
        fahr = celsius * (9.0/5.0) + 32.0;
        printf("%5.3f\t=\t%5.3f\n", celsius, fahr);
        celsius = celsius + 1;
    }
}
#include <stdio.h>

//program to print celsius to fahrenheit table

int main (void)
{
    float celsius, fahr;
    int lower, upper, step;

    celsius = lower = 0;
    upper = 100;

    while (lower <= upper)
    {
        fahr = celsius * (9.0/5.0) + 32.0;
        printf("%5.3f\t=\t%5.3f\n", celsius, fahr);
        celsius = celsius + 1;
    }
}