程序改错题
以下程序的功能是求20以内偶数的和。程序有几处错误,试找出它们并加以修改,请上机验证修改结果。
#include
int main()
{
int i,sum;
for(i=1;;i+=2);
if(i==20)break;
printf("sum=%d\n",sum);
return 0;
}
修改如下,供参考:
#include <stdio.h>
int main()
{
int i, sum = 0; // 修改
for (i = 2; ; i += 2) //for (i = 1;; i += 2);
{ //修改
sum += i; //修改
if (i == 20)break;
} //修改
printf("sum=%d\n", sum);
return 0;
}
和sum初始化为0,然后循环结束条件加上i<20,即计算20以内的数,然后循环体改为sum+=i,if条件可以加一个,也可以不加。
修改如下:
参考链接:
https://zhidao.baidu.com/question/1712014181585766740.html
#include <stdio.h>
int main()
{
int i,sum=0; // 和sum初始化为0
for(i=2;i<20;i+=2) // 从2开始计算,到19结束,每次迭代增加2
if(i%2==0) sum+=i; // 这个if 判断可以不加,只使用sum+=2 也可以,加上也没问题。
// https://zhidao.baidu.com/question/1712014181585766740.html
printf("sum=%d\n",sum);
return 0;
}
直接命令编译器创建特定的实例
template void Swap<int>(int, int);
意思:“使用Swap()模板生成int 类型的函数定义”