if ((n!=0)&&(n<=15)&&(n%2!=0)) p=0; } 这几句程序各是什么意思

{int a[16][16],i,j,k,p,m,n;
p=1;
while(p==1)
{printf("Enter n(n=1~15):");
scanf("%d",&n);
if ((n!=0)&&(n<=15)&&(n%2!=0))
p=0;
}
这几句程序各是什么意思

int a[16][16]——定义了一个整型数组;
程序的执行顺序是:先输出"Enter n(n=1~15):"即提示你输入一个1~15之间的整数,这个在程序内部通过"scanf("%d",&n);”语句实现,输入的数赋给n这个整型变量,接下来用if语句判断如果你输入的数是小于等于15且不为0的奇数,是,则把0赋给p,p值为假,跳出while循环;如果你输入的数不是这一范围内,则p仍为1,继续执行while循环,你继续输数,直到满足条件,跳出循环

对于二楼的回答,我想说一下,那个while里的判断当然有必要!如果没有,那后面跳出循环是怎么执行的!? 而且"n%2!=0"语句明明是n为奇数的意思!
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-12
{int a[16][16],i,j,k,p,m,n;//初始化定义
p=1;
while(p==1)
{printf("Enter n(n=1~15):");//当p=1的时候就输入n的值,n的范围为1到15。(你这个明显有问题,在你的第二行里面p赋了初值1,这样p就明显等于1了,还用的着while里面继续判断p是否等于1么?)
scanf("%d",&n);//输入n的值
if ((n!=0)&&(n<=15)&&(n%2!=0))//如果n不等于0,而且小于等于15,而且n是2的倍数
p=0;//就使p的值等于0
}
第2个回答  2010-12-12
这些代码不规范的,企业开发不能写这样不规范的代码,你的代码等价于下面的代码:
if ( (n!=0) && (n<=15) && (n%2!=0) ) //这里是3个判断:且n小于等于15,且n是非0的偶数。
{
p=0;
}
相似回答