回 帖 发 新 帖 刷新版面

主题:[讨论]帮忙解释

高手看看为什么这段代码达到十位时就不能实现这段代码的目的:??帮忙解释下代码:?

#include<iostream>
using namespace std;
int main()
{
    int n,i=1;
    char a[20],*ptr;
    ptr=a;
    cout<<"请输入一个整数:";
    cin>>n;
   do
    {
        if(i%4)//这是什么意思:"?
        {
            *ptr=n%10+'0';
            n=n/10;
        }
    else
    *ptr=',';
        ptr++;
        i++;
    }    while(n);
    cout<<"分离后的整数是:";
    do
    {
        ptr--;
        i--;
        cout<<*ptr;        
    }    while(i>1);
    cout<<endl;
    return 0;
}

回复列表 (共2个回复)

沙发

注意int类型的取值范围

板凳

if(i%4)
表示如果i除4所得余数不为0的话就执行if后的语句,为0的话则执行else

我来回复

您尚未登录,请登录后再回复。点此登录或注册