嘿,我搜索了它,但找不到...我需要一个函数来从用户那里获取开关信息。
switch (/* FUNCTION */) {
在这种情况下如何使用功能?
答案 0 :(得分:0)
只要函数返回整数类型,就可以做到这一点。因此给出:
int someFunction( void ) ;
然后:
switch( someFunction() )
{
...
有效。它与以下内容没有什么不同:
int x = someFunction() ;
switch( x )
{
...
,但是后者可以说更容易调试。例如,您可以单步执行后者,并从x
的值知道将输入哪种情况,并有机会修改x
以强制使用替代路径。前者除了简洁以外没有什么其他优点。
答案 1 :(得分:0)
编写一个要求用户输入的函数,然后在您的switch表达式中调用该函数。例如:
int getInt(void)
{
int i;
printf("enter number:\n");
if (scanf (" %d", &i)==1) return i;
return 0;
}
int main()
{
//...
switch (getInt()) {
case 0: printf("Error\n"); break;
case 1: //...
case ...
}
}