| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 646 人关注过本帖
标题:求x平方=y,y的平方=z,z的平方=k.出现小问题,求指教
取消只看楼主 加入收藏
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:4 
求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.
请问为什么.大家请发表自己的看法.谢谢
搜索更多相关主题的帖子: 英文 中文输入 
2011-05-06 00:07
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
收藏
得分:0 
回复 4楼 hjywyj
但是显示 的结果有错.估计是字符类型不对,但是总是找不到错误的地方

能忍受多久,关键在于看待的心态>..<天下大事,由我定夺
2011-05-06 14:09
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
收藏
得分:0 
根据大家的提示,终于找到了问题所在.只要把%d改成%ld就可以/
    long x,y,z,k;
    printf("please enter the int x\n");
    scanf("%d",&x);
    y=x*x;
    z=y*y;
    k=z*z;
    printf("the x,y,z,k is:\n");
    printf("%ld,%ld,%ld,%ld\n",x,y,z,k);
这样显示的结果就没有错误,原来是粗心了.谢谢大家的提示.

能忍受多久,关键在于看待的心态>..<天下大事,由我定夺
2011-05-06 15:56
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
收藏
得分:0 
回复 2楼 zjl01223
根据 你的提示,找到了答案.谢谢

能忍受多久,关键在于看待的心态>..<天下大事,由我定夺
2011-05-06 15:56
JCchan
Rank: 2
等 级:论坛游民
帖 子:44
专家分:73
注 册:2010-6-2
收藏
得分:0 
回复 3楼 hjywyj
点错了,应该是你的提示,你写得是对的.谢谢

能忍受多久,关键在于看待的心态>..<天下大事,由我定夺
2011-05-06 15:58
快速回复:求x平方=y,y的平方=z,z的平方=k.出现小问题,求指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022862 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved