C-将整数反转为数组

C-将整数反转为数组,c,C,我正在尝试反转整数的数字。 为此,我: 取整数 把它串成一条线 将字符串反向放入另一个字符串中 将反向字符串转换为正确的整数 我已经到了第3步,虽然它确实正确地反转了字符串,但它给我留下了很多奇怪的数据。 顶部是要比较的数组长度。 这些奇怪的数据发生了什么 int ReverseNumber(int Num) { //Variables int i = 0; int j = 0; char Number[50]; char ReversedNumber[50]; sprintf(Number,"

我正在尝试反转整数的数字。 为此,我:

  • 取整数
  • 把它串成一条线
  • 将字符串反向放入另一个字符串中
  • 将反向字符串转换为正确的整数
  • 我已经到了第3步,虽然它确实正确地反转了字符串,但它给我留下了很多奇怪的数据。 顶部是要比较的数组长度。 这些奇怪的数据发生了什么

    int ReverseNumber(int Num) {
    //Variables
    int i = 0;
    int j = 0;
    char Number[50];
    char ReversedNumber[50];
    sprintf(Number,"%d", Num);
    
    //Finding Length Of Array
    do{ 
        i++;
    }while(Number[i] > 10);
    //i - 1(Due to Array Length)
    i--;
    
    //Reverseing
    do {
        printf("%d | %d \n",j,i);
        ReversedNumber[j] = Number[i];
        printf("%c\n", ReversedNumber[j]);
        getch();
        i--;
        j++;
    } while (i != -1);
    
    int NumberLength = (strlen(Number) - 1);
    //Printing
    printf("%s\n", Number);
    printf("%s\n", ReversedNumber);
    }
    

    在(…)终止时,必须将
    \0
    添加到
    ReversedNumber
    的末尾,然后执行{…}操作:

    //Reverseing
    do {
    ...
    } while (...);
    ReversedNumber[j] = '\0';
    

    在(…)终止时,必须将
    \0
    添加到
    ReversedNumber
    的末尾,然后执行{…}操作:

    //Reverseing
    do {
    ...
    } while (...);
    ReversedNumber[j] = '\0';
    

    当你可以使用strlen时,为什么会有这种奇怪的
    do
    /
    循环查找
    Number
    的长度?为什么以后要做
    intnumberlength=(strlen(Number)-1)但永远不要使用<代码>编号长度>代码>你的代码没有终止<代码> RealDeNo.< /代码>这不是因为你用一个长度为50、C++和C++的数组填充了我记忆中的奇怪对象的未使用内存(在C中编程了一段时间)@ StasFiuWS C和C++不这样做。编译器是为了调试而这样做的。这就是为什么
    ╠╠╠╠╠...被看到(在中是0xCC,这是大多数使用西方代码页的电脑的默认设置)@LưuVĩnhPhúc oke,谢谢你帮我澄清:)为什么你会有这种奇怪的
    do
    /
    ,而
    循环查找
    Number
    的长度,而你可以使用
    strlen
    ?为什么以后要做
    intnumberlength=(strlen(Number)-1)但永远不要使用<代码>编号长度>代码>你的代码没有终止<代码> RealDeNo.< /代码>这不是因为你用一个长度为50、C++和C++的数组填充了我记忆中的奇怪对象的未使用内存(在C中编程了一段时间)@ StasFiuWS C和C++不这样做。编译器是为了调试而这样做的。这就是为什么
    ╠╠╠╠╠...可见(在中为0xCC,这是大多数使用西方代码页的PC的默认设置)@LưuVĩnhPhúc oke,感谢您为我澄清:)