簡體   English   中英

有沒有辦法在 C 轉換程序中實現宏(#define)?

[英]Is there a way to implement macros (#define) into a C conversion program?

我正在嘗試做一個從攝氏度到開爾文的簡單轉換程序,使用宏實現 function #define 但我遇到了麻煩,因為我不知道我是否可以這樣做。

#include <stdio.h>`

#include <stdlib.h>`

#define SUM(C) + (273.15)`

int main()
{
    float C;

    printf("Enter celsius:");
    scanf("%5.5f", &C);

    float X = SUM(%5.5f) + (273.15);

    printf("The conversion equals to %5.5f Kelvin\n", X);

    return 0;
}

這是你需要的:

#define TO_KELVIN(celsuis) ((celsuis) + 273.15)

定義這樣的宏被認為是一種不好的做法,請改用函數。

完整代碼:

#include <stdio.h>

#include <stdlib.h>

#define TO_KELVIN(celsuis) ((celsuis) + 273.15)

int main()
{
    float C;
    printf("Enter celsius:");
    scanf("%f", &C);
    float X = TO_KELVIN(C);
    printf("The conversion equals to %5.5f Kelvin\n", X);
    return 0;
}

您還嘗試使用scanf("%5.5f", &C); 5.5不適用於scanf ,僅適用於printf function。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM