這樣為什么不行
#include <stdio.h>
int main()
{
? ? int i, j, k;
? ? for(i=1; i<5; i++)
? ? {
? ? ? ? /* 觀察每行的空格數量,補全循環條件 */
? ? ? ? for( j=1 ; j<=4-i ; j++? )??
? ? ? ? {
? ? ? ? ? ? printf(" ");? ? //輸出空格
? ? ? ? }
? ? ? ? /* 觀察每行*號的數量,補全循環條件 */
? ? ? ? for( k=1 ;? (k>4-i)&(k<4+i);? k++? )?
? ? ? ? {
? ? ? ? ? ? printf("*");? ?//每行輸出的*號
? ? ? ? }
? ? ? ? printf("\n");? ? ?//每次循環換行
? ? }
? ? return 0;
}
2021-03-18
k的for循環的第二個表達式寫的有問題,這里需要寫的不是*的位置,而是個數。比如對于第一行i=1,開始循環時k=1,但是你的循環條件是3<k<5,不滿足條件,直接跳出循環,所以前面幾行根本沒有輸出*。