我寫這個C程序:我的程序中有什麼錯誤?
main()
{
int i,k;
char a[]="ilovefootbalonly\n";
printf("enter 1 or 2\n");
scanf("%d",&k);
switch(k)
{
case'1':for(i=0;i<=16;i++)
{
i+=1;
printf("%-16.*s\n",i,a);
}
break;
case'2':for(i=16;i>=0;i--)
{
i+=1;
printf("%*.*s\n",16,i,a);
}
break;
}
}
而且我希望我的輸出是這樣的我輸入後1:
i
il
ilo
ilov
.
.
.
.
ilovefootbal
即使我的程序編譯錯誤免費,但當我運行它後,我輸入1
或2
,它停在那裏,那麼我犯了什麼錯誤?
我是一個堆棧溢出和C的新手,所以如果您在發佈這樣的問題時請原諒任何小錯誤,我將不勝感激。
「case'1'」您將字符常量與輸入值作爲整數進行比較。 1!='1' –