if(a==0&&power==i)
{printf("%d,",i);break;}
很顯然,第壹個數1就滿足條件了,然後妳就break了,從循環裏退出來了。當然只能打印出第壹個。
另外,妳加了太多不必要的{},把程序的層次搞得過於繁復,很不好讀。順序結構不必加{}。