麻烦讲解C语言的计算过程 题目如下(输出结果为何是45)
#include<stdio.h>intmain(void){intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<8)...
#include <stdio.h>
int main (void)
{
int p[8]={11,12,13,14,15,16,17,18}, i=0, j=0;
while (i++<8)
if (p[i]%2)
j+=p[i];
printf("%d\n",j);
return 0;
} 展开
int main (void)
{
int p[8]={11,12,13,14,15,16,17,18}, i=0, j=0;
while (i++<8)
if (p[i]%2)
j+=p[i];
printf("%d\n",j);
return 0;
} 展开
2个回答
展开全部
这个表示 数组中不能被2整除的数的和
11+13+15+17=45+11 =56
那为什么你的答案是45呢
因为你的while条件是i++
所以第一次循环体是
if (p[1]%2)
j+=p[1];
也就说从数组的第二个元素开始的 (12开始的)
如果你是要
数组中不能被2整除的数的和
可以改成
while (i<8)
{
if (p[i]%2)
{ j+=p[i]; }
i++;
}
11+13+15+17=45+11 =56
那为什么你的答案是45呢
因为你的while条件是i++
所以第一次循环体是
if (p[1]%2)
j+=p[1];
也就说从数组的第二个元素开始的 (12开始的)
如果你是要
数组中不能被2整除的数的和
可以改成
while (i<8)
{
if (p[i]%2)
{ j+=p[i]; }
i++;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询