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 }
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
1/n,因为1是整形数,除以n后的出来的还是整形,所以一直是0,所以最终结果是1。
把1改成1.0,就能输出正确答案了
把1改成1.0,就能输出正确答案了