s=10*s+p[i][j]-'0'是什么意思
#include<stdio.h>main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++...
#include<stdio.h>
main()
{
char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)
p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>'\0';j+=2)
s=10*s+p[i][j]-'0';
printf("%d\n",s);
} 展开
main()
{
char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)
p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>'\0';j+=2)
s=10*s+p[i][j]-'0';
printf("%d\n",s);
} 展开
2个回答
展开全部
这个程序是通过循环,将字符数组第二维下标是偶数的字符选出,转换为整数并输出。
依次找出是字符是6、3、8、5,而语句s=10*s+p[i][j]-'0';就是转换为整数。
s=0;//即s的初始值是0
for(j=0;p[i][j]>'\0';j+=2)//依次找出数组第二维下标是偶数的字符
s=10*s+p[i][j]-'0';//转换为整数。
转换的过程如下:
s=10*0+'6'-'0',字符6对应的ASCII码值减去字符0对应的ASCII码值,就得到数字6,此时s=6
s=10*6+'3'-'0','3'-'0'得到3,此时s=60+3=63
s=10*63+'8'-'0','8'-'0'得到8,此时s=630+8=638
s=10*638+'5'-'0','5'-'0'得到5,此时s=6380+5=6385,这样就得到了整数6385
printf("%d\n",s);//直接输出这个整数。
执行程序,进行验证,结果截图:
大雅新科技有限公司
2024-11-19 广告
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,...
点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询