一道C语言指针类问题(有答案,解释一下过程)

main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=... main()
{char *p[]={ " 3697 "," 2584 "};
int i,j; long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!='\0')
{if((p[i][j]-'0')%2) num=10*num+p[i][j]-'0';
j+=2;}
}
printf("%d\n",num);
}
答案:39.
展开
 我来答
fivecat314
2011-02-09 · TA获得超过785个赞
知道小有建树答主
回答量:57
采纳率:0%
帮助的人:0
展开全部

i=0;i<2;i++
j+=2
这两句,可以得知,分析的字符是p[0][0]、p[0][2]、p[1][0]、p[1][2],即
'3'、'9'、'2'、‘8’
if((p[i][j]-'0')%2) 是判断上述字符转换为数字后,哪个是奇数(模2不等于0),可以得知是
'3'、'9'
num初始值是0,第一次分析出3后
num = '3' - '0' = 3
num值是3,第二次分析出9后
num = 3*10 + '9' - '0' = 39
答案是39.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式