我试图通过向用户提供是否循环回到开始或退出的选项来结束程序。我已经粘贴了以下程序的这一部分; ' homenumber'它应该循环回到并在程序开始时定义。
#include <stdio.h>
int main(void)
{
char option[1];
/*Asks if user wants to exit program*/
printf("Do you want to close the program? [Y/N]: ");
scanf_s("%c",&option,1);
if (option == "N" || option == "n") {
goto homenumber;
}
else if (option == "Y" || option == "y") {
;
}
提前致谢。
编辑:我的问题是该程序不会让我输入“&#39;选项”的值。 - 无论什么
,它都会结束程序答案 0 :(得分:0)
你应该使option
成为char而不是字符数组:
#include <stdio.h>
int main(void)
{
...
homenumber:
...
char option;
/* Ask if user wants to exit program */
printf("Do you want to close the program? [Y/N]: ");
option = 'Y';
scanf_s("%c",&option);
if (option == 'N' || option == 'n') {
goto homenumber;
} else
if (option == 'Y' || option == 'y') {
;
}
请注意,您还应该检查scanf_s
的返回值。我在通话前将option
设置为快速而肮脏的解决方案。使用getchar()
代替scanf_s
会更简单,也不会出错。
我也不会宽恕goto
的使用,只是指出你遇到麻烦的实际问题。