| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 534 人关注过本帖
标题:发现一个事,不太理解。
取消只看楼主 加入收藏
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
发现一个事,不太理解。

程序代码:
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#define N 10
int main()
{
unsigned int i,j,k;//i是行数,j是每行元素数。
unsigned int b,c;
unsigned int d;// unsigned int d=1;
for(i=0;i<N;i++)
{
for(j=N;j>i;j--)
printf("  ");
for(j=0;j<=i;j++)
{
b=c=1;//这里开始对杨辉3角内部每行元素与其行数,列位的关系进行运算。
if(j>=1)
{
for(k=i-j+1;k<=i;k++)
b*=k;
for(k=1;k<=j;k++)
c*=k;
d=b/c;//到这里运算结束
}
printf("%4d",d);//输出
}
printf("\n");
}
system("pause");
}
这个输出一定会出错。我是用vs2010编辑的。
但是如果定义d的时候给一个初始值,那么就不会出错。
这是为什么呢?求指教。
谢谢。
2011-01-16 18:20
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
回复 2楼 马后炮
那是为什么呢?就是定义浮点数给D依然出现问题。而给以初始值就不会有问题。这是为什么呢?
2011-01-16 18:33
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
回复 5楼 点线面
程序代码:
#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#define N 10
int main()
{
unsigned int i,j,k;//i是行数,j是每行元素数。
unsigned int b,c;
unsigned int d;
for(i=0;i<N;i++)
{
for(j=N;j>i;j--)
printf("  ");
for(j=0;j<=i;j++)
{
b=c=1;//这里开始对杨辉3角内部每行元素与其行数,列位的关系进行运算。
if(j>=1)
{
for(k=i-j+1;k<=i;k++)
b*=k;
for(k=1;k<=j;k++)
c*=k;
d=b/c;//到这里运算结束
printf("%4d",d);//输出
}
else printf("1");
}
printf("\n");
}
system("pause");
}
2011-01-16 18:45
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
回复 5楼 点线面
谢谢啊。
2011-01-16 18:46
yangfanconan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:10
帖 子:397
专家分:541
注 册:2009-9-22
收藏
得分:0 
吸一氧化碳吸多了。脑子笨了。
2011-01-16 18:51
快速回复:发现一个事,不太理解。
数据加载中...
 
   



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

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