C语言如何定义一个有取值范围的整型变量?

例如,我想让电脑输出一个在-100到+100之间的整数,这样为什么总是出现1979293246这个数据?其他方法怎么定义这样的变量?

#include<stdio.h>
#include<stdlib.h>
int main()
{
int a;
while(a>-100 && a<100);
printf("%d" ,a);
system("pause");
return 0;
}

int a = 0;
//while(a>-100 && a<100);
printf("%d" ,a);
system("pause");
return 0;

怎么说呢, 你这段程序毫无意义, int a; 不给a赋初始值的话, 会随机成一个数字, 可能很大也可能很小. 定义变量切忌一定要初始化.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-14
你的a没有初始化,所以系统会给你一个随机数。
以下是我做的代码:
#include <stdio.h>#include <stdlib.h>
#include <time.h>

int main(){
srand(time(0));
int a = rand()%201;
printf("%d", a-100);
return 0;
}

不知道能不能满足你的要求
第2个回答  2013-04-17
while(a>-100 && a<100);这一句是循环控制的条件,当a>-100 && a<100时就执行后面的内容,不能用来限制a的取值范围,只能判断a 是不是满足条件。

  while(a>-100 && a<100);中的;删掉的话,系统会根据a的最初赋值是否在-100到100,如果在就回打印出来,否则将不显示。本回答被提问者采纳
第3个回答  2013-04-14
while循环后面不能要分号
第4个回答  2013-04-14
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a = -100;
while(a<=100)
{
printf("%d\n" ,a);
a++;
}

system("pause");
return 0;
}

相似回答