mình đang làm bài toán vẽ một tam giác bằng dấu *. chương trình mình viết như thế này:
#include <stdio.h>
#include <stdlib.h>
void main(void)
{
int n,i;
n=9;
for(i=0;i<=n;i++)
{
int j,a,b;
for(j=1;j<=(2*n);j++)
{
a=n-j;
b=n+j;
switch (j)
{
case (a): case (b): { printf("*");
break;
}
default: break ;
}
}
}
return 0;
}
mình thắc mắc chỗ lệnh switch, mình chọn các giá trị case như vậy nó lại báo lỗi đó không phải là hằng số trong khi trước lệnh switch mình đã gắn cho giá trị a, b một số rất rõ ràng, a=n-j và b=n+j với n=9 và j=1 sau đó j thay đổi tăng dần sau mỗi vòng lặp.
mong mọi người giải thích vì sao lại như vậy.
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?