【发布时间】:2018-06-17 00:16:56
【问题描述】:
在这个函数中,我尝试根据不同的 char* 输入返回不同的 int 值。但我收到错误“控制可能到达非无效函数的结尾”。我该如何解决?
// Converts a fraction formatted as X/Y to eighths
int duration(char* fraction)
{
if (strcmp(fraction, "1/8") == 0)
{
return 1;
}
else if (strcmp(fraction, "1/4") == 0)
{
return 2;
}
else if (strcmp(fraction, "3/8") == 0)
{
return 3;
}
else if (strcmp(fraction, "1/2") == 0)
{
return 4;
}
}
【问题讨论】:
-
如果
fraction不是这些,返回什么? -
string是什么? -
@wildplasser — 可能来自
cs50.h的typedef char *string;用于 CS50 课程。一个猜测,但不是一个疯狂的猜测。 -
@wildplasser,乔纳森猜对了。
标签: c if-statement compiler-errors conditional-statements return-value