while(n--)
和while(n=n-1)
之间有什么区别?当我在代码中使用while(n=n-1)
时,我可以输入少于1个数字。
示例:首先输入3而不是输入3次单个数字(但while(n=n-1)
中没有发生这种情况)。
但是当我使用while(n--)
时,它是正常的。
我的代码是:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
long long inum;
scanf("%d", &n);
while(n--)
{
scanf("%lld", &inum);
if(inum == 0 || inum % 2 == 0)
{
printf("even\n");
}
else
{
printf("odd\n");
}
}
return 0;
}
答案 0 :(得分:4)
n--
的值是n
int n = 10;
// value of (n--) is 10
// you can assign that value to another variable and print it
int k = (n--); // extra parenthesis for clarity
printf("value of n-- is %d\n", k);
n = n - 1
的值比先前的n
int n = 10;
// value of (n = n - 1) is 9
// you can assign that value to another variable and print it
int k = (n = n - 1); // extra parenthesis for clarity
printf("value of n = n - 1 is %d\n", k);
答案 1 :(得分:-1)
while(n--)
在其正文中使用n
,并且递减的值用于下一次迭代。
while(n=n-1)
与while(--n)
相同,后者会在其正文中递减并使用n
的新值。