| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 280 人关注过本帖
标题:代码执行之后提示错误。望各位大侠指点。
只看楼主 加入收藏
飘青
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2012-7-8
结帖率:70.59%
收藏
已结贴  问题点数:10 回复次数:3 
代码执行之后提示错误。望各位大侠指点。
各位大侠们
 我按照理解重新将闰年的那个程序改写成下面的程序。但是我发现在gcc 下面可以执行成功。也可以运行。但是运行之后多一些。好像是什么指针发生了变化。请各位大侠指点下面程序的错误。  (执行的错误我也贴在下面)
#include <stdio.h>
void main ()
{
  int year,leap;
  scanf("%d",year);
  if((year%4==0&&year%100!=0)&&(year%4==0&&year%100==0)&&(year%400==0))
  {
  leap=1;
  }
  else
  leap=0;
 if(leap)
  printf("%d is a leap year\n",year);
 else
  printf("%d is not a leap year\n",year);
  }



error:
*** glibc detected *** ./c10: free(): invalid pointer: 0x00382ce0 ***
======= Backtrace: =========
/lib/libc.so.6[0x264a31]
/lib/libc.so.6(exit+0x108)[0x224158]
/lib/libc.so.6(__libc_start_main+0xee)[0x20ccee]
./c10[0x8048381]
======= Memory map: ========
001d0000-001ee000 r-xp 00000000 fd:00 1325       /lib/ld-2.12.so
001ee000-001ef000 r--p 0001d000 fd:00 1325       /lib/ld-2.12.so
001ef000-001f0000 rw-p 0001e000 fd:00 1325       /lib/ld-2.12.so
001f6000-0037f000 r-xp 00000000 fd:00 1326       /lib/libc-2.12.so
0037f000-00380000 ---p 00189000 fd:00 1326       /lib/libc-2.12.so
00380000-00382000 r--p 00189000 fd:00 1326       /lib/libc-2.12.so
00382000-00383000 rw-p 0018b000 fd:00 1326       /lib/libc-2.12.so
00383000-00386000 rw-p 00000000 00:00 0
00bf6000-00c13000 r-xp 00000000 fd:00 1346       /lib/libgcc_s-4.4.6-20110824.so.1
00c13000-00c14000 rw-p 0001d000 fd:00 1346       /lib/libgcc_s-4.4.6-20110824.so.1
00f2c000-00f2d000 r-xp 00000000 00:00 0          [vdso]
08048000-08049000 r-xp 00000000 fd:00 300033     /root/temp/c10
08049000-0804a000 rw-p 00000000 fd:00 300033     /root/temp/c10
08bd8000-08bf9000 rw-p 00000000 00:00 0          [heap]
b78a6000-b78a7000 rw-p 00000000 00:00 0
b78b9000-b78bd000 rw-p 00000000 00:00 0
bfa31000-bfa46000 rw-p 00000000 00:00 0          [stack]
已放弃 (core dumped)
搜索更多相关主题的帖子: include 
2012-07-08 22:58
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
你的闰年条件写的根本就不对。scanf的参数我懒得再说什么了。

[ 本帖最后由 beyondyf 于 2012-7-8 23:07 编辑 ]

重剑无锋,大巧不工
2012-07-08 23:05
飘青
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2012-7-8
收藏
得分:0 
谢谢你。
 我将条件 if((year%4==0&&year%100!=0)&&(year%4==0&&year%100==0)&&(year%400==0)) 改成  
  if((year%4==0&&year%100!=0)||(year%4==0&&year%100==0)||(year%400==0))
 还是一样的
 您说我的scanf 有错误。不太理解
 
我是个刚学c的菜鸟,希望您不要嫌烦。
 
 
2012-07-08 23:18
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:5 
scanf("%d",&year);

extern "C" int isLeapYear(int year)
{
    return (year % 400 == 0 || (year % 4 == 0 && year % 100)) ? 1 : 0;
}

我们都在路上。。。。。
2012-07-09 11:21
快速回复:代码执行之后提示错误。望各位大侠指点。
数据加载中...
 
   



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

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