我有这个代码接受来自用户的输入,并在“类别”输入中检查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();
}
答案 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
。