C++问题 自加的问题

发布时间:2024-05-17 15:20 发布:上海旅游网

问题描述:

#include "stdafx.h"
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR*argv[])
{
int sum = 0, val = 1;
while(val<=10)
{
sum+=val;
val++;//此处的val++改为++val竟然不影响结果 ++val不是该先自加后运算么?请教一下
}

std::cout<<"sum of 1 to 10 inclusive is "
<<sum<<std::endl;
return 0;
}

问题解答:

所谓自加、自减,是对该语句来说的,你这里val++改为++val 是一样的效果,因为这条语句中val没有参与其他运算。
而在这样的语句中 k=val++; 和 k=++val; 就有区别了,
前一句相当于 k=val; val=val+1;
后一句相当于 val=val+1; k=val;
不知道你明白了吗...

你那是和别的运算写在一起的时候。
比如
a=1
b=++a;b=2
b=a++;b=1
单独写 ++a和a++都是自加1 结果不变

++val是该先自加后运算,可是你后面没有运算呀!应该换一下!
while(val<=10)
{
val++;
sum+=val;
}

热点新闻