你的错误在于不知道scanf()函数如何定义的,
1.scanf()函数有返回值且为int型。
2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。
举个例子:
scanf("%d%d", &a, &b);
如果a和b都被成功读入,那么scanf的返回值就是2
如果只有a被成功读入,返回值为1
如果a和b都未被成功读入,返回值为0
如果遇到错误或遇到end of file,返回值为EOF
而你的错误在于while(scanf("%d",&n) == 1)这将是个死循环,相当于写成了(scanf()返回值 == 1)而他的返回值就是1,结果是 1 == 1,永远成立,不会结束。