如何使用“if语句”中返回的值在其他计算中使用它?

时间:2013-12-15 09:55:47

标签: c if-statement

我有这个代码接受来自用户的输入,并在“类别”输入中检查if语句并返回一个变量调用“pay_hour”并赋值给它。我需要在其他地方使用“pay_hour”值计算;

     if (strncmp(category,"A1",2)== 0){return pay_hour=5;}
else if (strncmp(category,"A2",2)== 0){return pay_hour=7;}
else if (strncmp(category,"M1",2)== 0){return pay_hour=10;}
else if (strncmp(category,"M2",2)== 0){return pay_hour=15;}
else if (strncmp(category,"BB",2)== 0){return pay_hour=20;}

pay=50*pay_hour;

printf("pay= %.2f,pay);

getchar();
}

2 个答案:

答案 0 :(得分:2)

如果要在进一步计算中使用该变量,请不要使用return。只需分配变量。

if (strncmp(category,"A1",2)== 0){pay_hour=5;}
else if (strncmp(category,"A2",2)== 0){pay_hour=7;}
else if (strncmp(category,"M1",2)== 0){pay_hour=10;}
else if (strncmp(category,"M2",2)== 0){pay_hour=15;}
else if (strncmp(category,"BB",2)== 0){pay_hour=20;}

答案 1 :(得分:1)

你滥用return语句。 return表示终止当前函数的执行并将控制权返回给调用函数,或者如果从main函数返回,则返回操作系统。

有关详细说明,请参阅此处。 http://msdn.microsoft.com/en-us/library/k68ktdwf.aspx

在您的情况下,简单地将值pay_hour分配给return