为啥输入任何数都是一个*,明明和书上一样。而且no-->0可以用这个格式吗
是因为第5行的while循环后面的分号的原因,这个分号让while循环没有输出星号。然后后面的putchar()函数单独执行了。
把第5行while后面的分号去掉,因为while循环的循环体需要putchar('*')输出星号; 然后把第8行的双引号改为单引号,因为putchar()函数的参数需要一个字符,修改如下:
#include <stdio.h>
int main(void){
int a;
printf("a:");
scanf("%d",&a);
while(a-->0)
putchar('*');
putchar('\n');
return 0;
}