C++小知识

通过给妹妹讲解复习C的知识,自己也学习了一下,mark。

1. 

1 #include<stdio.h>
2 int main()
3 {
4     int x=10,y=10,i;
5     for(i=0;x>8;y=++i)
6         printf("%d,%d",x--,y);
7     return 0;
8 }    
View Code

printf的参数是从后面开始压栈的,就是说看计算结果的时候先看y,再看x--,再执行“printf()”的打印功能

2. 

这个程序计算s=1+1/2+1/3+1/3+.....+1/10

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n;
 5     float s;
 6     s=1.0;
 7     for(n=10;n>1;n--)
 8         s=s+1/n;
 9     printf("%6.4f\n",s);
10     return 0;
11 }
12     
View Code
 1/n,因为1是整形数,除以n后的出来的还是整形,所以一直是0,所以最终结果是1。
把1改成1.0,就能输出正确答案了
posted @ 2013-12-14 16:44  蓝兔子  阅读(158)  评论(0编辑  收藏  举报