所以我被赋予了这个功能来读取要执行的选项。我理解提示符的执行,但我在将'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),然后程序结束。很抱歉,我在漫长的夜晚结束时提出了这个问题。
发布于 2010-11-09 21:45:36
X和y的scanf有什么用?这个程序似乎是正确的。您遇到的问题是什么?你能给出你面临的问题的细节吗?
发布于 2010-11-09 19:32:17
该函数只向调用它的人返回一个char (即许多平台上的1字节数据,但不是全部)。
例如,在你的main函数中:
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;
}https://stackoverflow.com/questions/4133008
复制相似问题