-2
我有以下代碼,我已經定義了我在這裏調用的功能,這裏的問題是:我運行代碼 輸入:1 輸入:2 輸入:2 輸入:6 輸入:5 6 //對於與i = 6相關的scanf; 之後,我得到屏幕上的輸出爲 進入你的選擇,然後它退出程序...它像scanf從某處獲得值,但我不知道從哪裏我也試過fflush(stdin)看起來似乎工作可以在任何一個請幫助scanf的被跳過
int main()
{
int i,*j,k,pos,val;
Element *stacka = new Element;
stacka =NULL;
while(i!=5)
{
printf("Enter ur choice \n");
fflush(stdin);
scanf("%d",&i);
if(i==1)
{
if(createStack(&stacka))
{
printf("yes");
}
}
if(i==2)
{
k=2;
if(push(&stacka,&j))
{
printf("yes");
}
}
if(i==3)
{
if(pop(&stacka,&k))
{
printf("yes %d",k);
}
}
if(i==4)
{
if(emptyStack(&stacka))
{
printf("yes");
}
}
if(i==6)
{
scanf("%d,%d",&pos,&val);
fflush(stdin);
insert_at_pos(pos,val,&stacka);
}
}
return 0;
}
downvote請原因? – koool
我不明白這個問題 –
首先,'fflush(stdin);'是無效的;它調用未定義的行爲。誰教你做到這一點? –