一楼考试考多了吧,这种写法是绝对不累赘的,而是必要的,如果在条件里把 == 0.0作为循环条件的话你真的会发现成为死循环的,C语言中有float,又有double,它们都被称作浮点数,它们是无法准确保存小数的,它们各有自己的精度,您可以考虑写一个循环,比如:
double a = 0.01;for( i=0; i<20; i++ ) printf( "%.20lf", a + 0.01 );你会发现显示出来的不只是一个0.01,0.02,在显示出来的小数的最后精度是完全无法控制的,所以变量中对于浮点数是否相等不能直接用 == ,而是要判断它们的差是不是在允许精度之内,就是说,abs( x ) < 1e-N,这个N越大,精度要求越高,就是这样了,希望对您可以有所帮助
循环移位程序
比如:
输入:
2
abcdef
则,输出:
efabcd