有人能解释一下为什么尽管turbo c++编译器没有显示任何错误,但是.exe程序没有运行吗?
编译器没有显示任何错误

#include <stdio.h>
#include <conio.h>

int main ()
{
int choice;
float num, result;
printf("Select your choice\n");
printf("Press 1 for conversion from milligrams to grams\n");
printf("Press 2 for conversion from decigrams to grams\n");
printf("Press 3 for conversion from centigrams to grams\n");
printf("Press 4 for conversion from kilograms to grams\n");
printf("Press 5 for conversion from ounce to grams\n");
printf("Press 6 for conversion from pounds to grams\n");
printf("Press 7 for conversion from ton to grams\n");

switch(choice) //i thought the switch statement would be appropriate
{
case 1:
        printf("Enter the weight in milligrams for conversion\n");
        scanf("&#37;f", &num);

        result=num*0.001;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 2:
        printf("Enter the weight in decigrams for conversion\n");
        scanf("&#37;f", &num);

        result=num*0.1;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 3:
        printf("Enter the weight in centigrams for conversion\n");
        scanf("&#37;f", &num);

        result=num*0.01;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 4:
        printf("Enter the weight in kilograms for conversion\n");
        scanf("&#37;f", &num);

        result=num*1000.0;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 5:
        printf("Enter the weight in ounce for conversion\n");
        scanf("&#37;f", &num);

        result=num*28.3495;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 6:
        printf("Enter the weight in pounds for conversion\n");
        scanf("&#37;f", &num);

        result=num*453.592;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

case 7:
        printf("Enter the weight in ton for conversion\n");
        scanf("&#37;f", &num);

        result=num*907185.00;

        printf("The weight in after conversion is %f g", result);
        getch();
        getch();
        break;

default:
        printf("invalid choice\n");
        break;
        }
        return 0;
        }

我对c比较陌生,我不知道我犯了什么错

最佳答案

您的变量choice未初始化且从未写入。提示用户输入后,您需要实际扫描输入的值。

关于c - 转换成克,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18695435/

10-11 18:22