以下是引用wtwj1314在2012-2-21 12:08:17的发言:
感谢各位,是因为f前没加l,但while那地方还是不明白,怎么结果多乘了一次.
int i=1;
while(i<=n)
{
s=x; x=x*x; i++;
}
按我的算法例如当n=1时,
执行s=x; x=x*x; i++; 此时i=2,便不会循环了.
按说x=x*x的值没赋给s,s应该等与x,怎么结果是s=x*x???
忘了说了,我这个程序目的只是计算n大与0时的情况
这个while中,x值被改变了,当n>3时,就不止多乘1次了
例如:
n=3时 s=x*x*x*x ,x=(x*x*x*x)*(x*x*x*x)