问题描述:
main()
{ float temper[31];
int day=0;
do{
`` printf("enter %d:",day);
scanf("%f",temper+day);
}while(*(temper+day++)>0);
请问当键盘输入的值为0时候,结束循环,day的值还要加1吗?
还有下面这个
main()
{ float temper[31];
int day=0;
float *p;
p=temper;
do{
printf("enter %d:",day++);
scanf("%f",p);
}while(*(p++)>0);
请问当键盘输入的值为0时候,结束循环,p的值还要自加一次吗?
问题解答:
是
是
这么解释吧,ANSI中这样定义自加运算符。
一个语句中包含自加运算符,如果
1. ++变量:那么++的操作是在这句语句被执行前进行的
2. 变量++:那么++的操作是在这句语句被执行后进行的
但是不管是前时候,++的操作是和语句绑定的,也就是说只要语句被执行,++一定会被执行。