一段c++的简单代码,求解释,在线等。
#include<iostream>usingnamespacestd;voidmain(){inti,c;chars[2][5]={"1980","9876"};for...
#include <iostream>
using namespace std;
void main()
{
int i,c;
char s[2][5]={"1980","9876"};
for(i=3;i>=0;i--)
{
c=s[0][i]+s[1][i]-2*'0';
s[0][i]=c%10;
}
for(i=0;i<=1;i++)
cout<<s[i];
}
不明白为什么输出的是9876而不是07569876.
还有,那个2*‘0’是什么作用? 展开
using namespace std;
void main()
{
int i,c;
char s[2][5]={"1980","9876"};
for(i=3;i>=0;i--)
{
c=s[0][i]+s[1][i]-2*'0';
s[0][i]=c%10;
}
for(i=0;i<=1;i++)
cout<<s[i];
}
不明白为什么输出的是9876而不是07569876.
还有,那个2*‘0’是什么作用? 展开
4个回答
展开全部
是将字母'O'视为它的ASCII码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s[0][i] = c % 10 + '0';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
2*‘0’=2*48 注意 char和int的转换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询