n=10;
for(i=1;i<n;i++){
random = 1 + rand() % 3;
printf("\n\nIzdari savu izveli ==>");
scanf("%c", &zime);
if( zime=='a' )
printf("\nTu uzliki AKMENI");
else if( zime=='s' )
printf("\nTu uzliki SKERES");
else if( zime=='p' )
printf("\nTu uzliki PAPIRU");
if( random==1 )
printf("\nDators uzlika AKMENI");
else if( random==2 )
printf("\nDators uzlika SKERES");
else if( random==3 )
printf("\nDators uzlika PAPIRU");
if( random==1&&zime=='a' || random==2 && zime=='s' || random==3 && zime=='p')
printf("\n\nNeizskirts!!!");
else if( random==1&&zime=='p' || random==2&&zime=='a' || random==3&&zime=='s' )
printf("\n\nTu Uzvareji!!!");
else if( random==1&&zime=='s' || random==2&&zime=='p' || random==3&&zime=='a' )
printf("\n\nTu Zaudeji!!!");
getch();
}
为什么第二次循环开始时它只是跳过scanf
,
并跳转到if( random==1 )
,
然后跳回scanf
并让你扫描一个字符?
输出看起来像
这只是石头纸scizors游戏,但用其他语言。
答案 0 :(得分:1)
在第一次输入结束时有一个换行符\n
,在第二次循环期间被scanf()
选中。
将您的scanf称为:
scanf(" %c", &zime);