我正在练习我的C Prog语言,我决定创建一个具有收银员功能的沙龙
它看起来很乱,尽管我还在学习
发帖地址:http://pastebin.com/B2XaaCYV
它显示“菜单”变量出现运行时错误,但我尝试在5倍左右重新检查它,我没有看到任何错误。代码非常简单,比如xy = default 0=意思是还没有购买。它的值将仅为0/1。挑选发型后实际购买时为1。
那当然了
xy[1][i] means price of xy[0][i]我尝试使用其他技术,如删除中断和更改变量名称,但它仍然显示运行时错误的变量菜单
不知道是什么导致了这个错误。所以我希望有人能帮我解决这个问题
发布于 2013-03-11 18:43:08
scanf("%1s",&menu);不是的!char根本不是字符串。如果想要获取单个字符,请使用getchar()或scanf("%c",&menu);。
您的core_return中有一个相关的错误,您尝试将3个字符读入一个字符。此外,不要在子例程中调用main。取而代之的是从子例程中返回,并在main中放置一个循环。顺便说一下,'yes'和'no'是无效的。如果要比较字符串,则必须使用strcmp
// returns 1 if the user wants to go again
int another_menu(void)
{
char tmp[20];
printf("Do you want another service?");
for(;;){
scanf("%3s",tmp);
if(strcmp("y",tmp) || strcmp("yes",tmp))
return 0;
else if(strcmp("n",tmp) || strcmp("no",tmp))
return 1;
printf("Please specify either 'no' or 'yes': ");
}
}使用编译器警告,以便更快地发现错误(GCC:-Wall -Wextra)。
https://stackoverflow.com/questions/15336111
复制相似问题