求x平方=y,y的平方=z,z的平方=k.出现小问题,求指教
代码如下:#include"stdio.h"
void main()
{
int i,x; /*一开始我这样定义 int i,x,y,z,k;*/
long y,z,k; /*怕结果会溢出,所以就用了一个long型*/
printf("please enter the int x\n"); /*因为TC没有中文输入,所以就随便打些英文上去*/
scanf("%d",&x);
i=x;
y=i*i;
z=y*y;
k=z*z;
printf("the x,y,z,k is:\n");
printf("%d,%d,%d,%d\n",i,y,z,k);
}
当使用int 字型的y,z,k是,输入4,结果为:4,16,256,0. 我以为是溢出,所以改成了用long.
当用long 时,输入4,结果为:4,16,0,256.
请问为什么.大家请发表自己的看法.谢谢