c语言程序运行问题 内存不能为written

#include<stdio.h>intarry[6],x,number;intmain(void){//loop6timesofuntilthelastenterede... #include<stdio.h>

int arry[6], x , number;

int main(void)
{
//loop 6 times of until the last entered elements 1s 99
for( x = 0; x < 6 && number != 99; x ++)
{
puts("Enter an even integer value, or 99 to quit");
scanf("%d", &number);
while( number % 2 != 0 && number != 99)
{
printf("\n%d is not even, Please enter an even number: ", number);
scanf("%d", number);
}
arry[x] = number;
}
//now print them out
if( number == 99)
{
printf("The value entered is %d\n", arry[0]);
}
for( x = 0; x < 6 && arry[x] != 99 ; x++)
{
printf("\nThe value entered is %d", arry[x]);
}
system("PAUSE");
return 0;
}

当我输入3时 程序提示 应输入一个偶数 我在输入4 就提示错误
还有一个问题 语句if(number == 99)改为{"..........", arry[x]}
输出的是The value entered 0 为什么不是 The value entered 99
第个问题已经解决了 总出这个问题 编译器 总是能编译通过 那么第二个问题呢 if()后面的语句
展开
 我来答
zixuh
2010-12-11 · 超过31用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
你程序应该对变量先进行初始化,否则number就有可能一开始就是99。
你的问题出在第二个scanf中,没有对number取地址:
printf("\n%d is not even, Please enter an even number: ", number);
scanf("%d", number); //number没有取地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1e3176a03
2010-12-11 · TA获得超过2637个赞
知道小有建树答主
回答量:1144
采纳率:100%
帮助的人:1492万
展开全部
while( number % 2 != 0 && number != 99)
{
printf("\n%d is not even, Please enter an even number: ", number);
scanf("%d", number); ==>改成 scanf("%d", &number);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式