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()后面的语句 展开
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()后面的语句 展开
展开全部
你程序应该对变量先进行初始化,否则number就有可能一开始就是99。
你的问题出在第二个scanf中,没有对number取地址:
printf("\n%d is not even, Please enter an even number: ", number);
scanf("%d", number); //number没有取地址
你的问题出在第二个scanf中,没有对number取地址:
printf("\n%d is not even, Please enter an even number: ", number);
scanf("%d", number); //number没有取地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询