CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

C语言简单问题

楼主sd6703684()2005-01-07 13:02:23 在 C/C++ / C语言 提问

#include   <stdio.h>  
  void   main()  
  {  
  static   int   x,n[9];  
  printf("input   No.:");  
  scanf("%d",&x);  
  while(x)  
  {  
          n[x]+=1;  
  printf("input   No.:");  
  scanf("%d",&x);  
  }  
  for(x=1;x<=8;x++)  
  {  
  printf("\tNo.%d=%d",x,n[x]);  
  if(x%2==0)  
  printf("\n");  
  }  
  }  
  static   是什么意思     我不加就有错误   加了就没有了   可以解释清楚点麽  
   
  问题点数:10、回复次数:8Top

1 楼syjeffdyg(阿谷)回复于 2005-01-07 13:07:23 得分 0

static是静态存储的意思,只有静态存储还外部存储的数组可以初始化,不赋初值默认为0。Top

2 楼xiaofei1984(逍飞)回复于 2005-01-07 13:12:08 得分 0

static是静态的意思,就是说用它定义的变量只能初始化一次。上面程序你加不加都没有编译错误,  
  不知楼主这段程序是什么意思??Top

3 楼sd6703684()回复于 2005-01-07 13:14:56 得分 0

就是比如投票   1-8号               0为投票over           上面程序不加有编译错误的   我试过  
  Top

4 楼sd6703684()回复于 2005-01-07 13:16:19 得分 0

是里面如果打错了就会非法         加了static打错没事   就是无效Top

5 楼dlyy(魑魅魍魉)回复于 2005-01-07 13:18:26 得分 0

borland去掉了编译没有错误,不过结果与有static的不一样~Top

6 楼sd6703684()回复于 2005-01-07 13:22:23 得分 0

我用VC++6。0     也是没有错误   就是结果不一样   为什么Top

7 楼dongpy(51-->ARM)回复于 2005-01-07 15:03:27 得分 0

是因为你没有对数组n[9]初始化为0,而static   会默认初始化为0。   所以结果不对Top

8 楼aladar(深蓝)回复于 2005-01-07 15:10:35 得分 10

>是里面如果打错了就会非法         加了static打错没事   就是无效  
   
  那是因为没加static时x值不定,如果输入一个乱七八糟的东西,scanf是不会更改x的值而直接返回一个错误,这样你n[x]就会出现访问违规  
   
  如果加了static,x初始就是0,这样输入错误就和输入0是一样的了  
   
  其实比较好的写法是  
  int   x=0,   n[9]={0};  
  Top

相关问题

  • 寻找c,c++语言,简单问题
  • 简单C语言字符串问题
  • 一个简单的C语言问题
  • 简单的C语言的问题:
  • 很简单的问题(C语言)
  • 简单的C语言指会问题!
  • 几个简单的c语言问题!
  • C语言最简单的问题
  • 请教一道C语言题,简单!!
  • c语言超级简单的问题

关键词

  • 打错
  • 输入
  • scanf
  • 错误
  • static
  • printf
  • input

得分解答快速导航

  • 帖主:sd6703684
  • aladar

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo