| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1527 人关注过本帖
标题:新手 不知道哪出错了!!
只看楼主 加入收藏
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:1 
程序~可修改~成这样~
# include <stdio.h>

int main(void)
{
  long int a;
  scanf ("%d",&a);
  
  if (a==123456)
      printf ("yes!\n");
  else printf ("no!\n");
  return 0;
}
希望楼主~参考~ 零波 丽 说

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-10 00:29
劣质数轴
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:89
专家分:163
注 册:2010-11-19
收藏
得分:1 
LZ用的编译器是TC?
如果是16位的int就会溢出……
2011-09-10 00:41
零波丽
Rank: 3Rank: 3
来 自:莉莉斯
等 级:论坛游侠
帖 子:222
专家分:107
注 册:2011-9-8
收藏
得分:0 
希望楼主~以后多注意~溢出的问题~如果不想使用~LONG INE  可以使用无符号 整数的方式~
零波 丽 提醒道

人又是什么?神造出来的东西。 人是人造出来的东西。
2011-09-10 00:46
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:1 
int型的取值范围是-32768--32767即-2∧15--(2∧15-1)
你的那个定义明显超过的范围了
我想你是做类似密码一样的程序,可以考虑用字符试下。

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2011-09-10 11:10
exo1991
Rank: 2
等 级:论坛游民
帖 子:66
专家分:98
注 册:2011-8-30
收藏
得分:1 
同意十楼的,这主要看你所用的编译器里int型的数据所占的字节数。
2011-09-10 19:56
逍遥散人
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2011-9-10
收藏
得分:1 
楼主用的是TC吧,不同的环境会有不同的结果,因为int的最大值不同
2011-09-10 20:17
cl19910824
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2011-3-11
收藏
得分:1 
程序是没有错误的,编程环境有问题,你的机器字长应该是16位的,
2011-09-10 20:31
liubin697
Rank: 2
等 级:论坛游民
帖 子:33
专家分:10
注 册:2011-5-18
收藏
得分:1 
溢出了   INT最大只32768
2011-09-10 21:54
Afah
Rank: 2
等 级:论坛游民
帖 子:40
专家分:70
注 册:2011-8-28
收藏
得分:1 
#include "Stdio.h"
#include "Conio.h"

int main(void)
{
 long a;
 scanf("%ld",&a);

 if(a==123456)
 printf("ok");

 else
 printf("no");

  getch();
  return 0;
}
2011-09-10 23:00
漩涡
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2011-9-11
收藏
得分:0 
少了# include<stdio.h>
2011-09-11 14:37
快速回复:新手 不知道哪出错了!!
数据加载中...
 
   



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

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