所以我被赋予了这个功能来读取要执行的选项。我理解提示的执行但我无法将'c'传回程序。我认为它与我尚未掌握的指针有关。
int nextCommand(int *x, int *y)
{
char c;
while(1){
scanf("%c", &c);
if (c == 's' || c == 'p') break;
if (c == 'f' || c == 'F') {scanf("%d", x); break;}
if (c == 'u') {scanf("%d", x); scanf("%d", y); break;}
}
return c;
}
实际描述我的问题。当我调用此函数时,程序处于停顿状态。我尝试输入一个适当的命令(即s或p),程序结束。对不起,我在一个漫长的夜晚结束时提出了这个问题。
答案 0 :(得分:0)
该函数只是向任何调用它的人返回一个char(即许多平台上的1字节数据,但不是全部)。
例如在你的主要功能中:
int main(int argc, char **argv)
{
int a = 0, b =0;
char result;
result = nextCommand(&a, &b);
/* at this point result will contain the single character 's', or 'u', or... etc. */
return 0;
}
答案 1 :(得分:0)
x和y的scanf有什么用? 该计划似乎是正确的。你遇到的问题是什么?你能详细说明你面临的问题吗?