Reversing an entered numbers in C language












0















I just want to ask on why is there a need to write sum = sum*10+digit instead of just sum = 0+digit? since the result of sum*10 is just 0. This is a code in C language for reversing an entered number. Thanks!



#include <stdio.h>

int main()
{
int number, x = 0, digit, temporary, div = 10, sum = 0;
printf("Enter numbersn");
scanf("%d", &number);
temporary = number;

START:

digit = number%div;
sum = sum*10+digit;
number = number/div;

if(number>0)
goto START;

printf("Reversed Number = %dn", temporary);
printf("Reversed Number = %dn", sum);
return 0;
}









share|improve this question




















  • 1





    After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

    – Yunnosch
    Nov 14 '18 at 0:56











  • It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

    – luci88filter
    Nov 14 '18 at 7:56


















0















I just want to ask on why is there a need to write sum = sum*10+digit instead of just sum = 0+digit? since the result of sum*10 is just 0. This is a code in C language for reversing an entered number. Thanks!



#include <stdio.h>

int main()
{
int number, x = 0, digit, temporary, div = 10, sum = 0;
printf("Enter numbersn");
scanf("%d", &number);
temporary = number;

START:

digit = number%div;
sum = sum*10+digit;
number = number/div;

if(number>0)
goto START;

printf("Reversed Number = %dn", temporary);
printf("Reversed Number = %dn", sum);
return 0;
}









share|improve this question




















  • 1





    After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

    – Yunnosch
    Nov 14 '18 at 0:56











  • It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

    – luci88filter
    Nov 14 '18 at 7:56
















0












0








0


2






I just want to ask on why is there a need to write sum = sum*10+digit instead of just sum = 0+digit? since the result of sum*10 is just 0. This is a code in C language for reversing an entered number. Thanks!



#include <stdio.h>

int main()
{
int number, x = 0, digit, temporary, div = 10, sum = 0;
printf("Enter numbersn");
scanf("%d", &number);
temporary = number;

START:

digit = number%div;
sum = sum*10+digit;
number = number/div;

if(number>0)
goto START;

printf("Reversed Number = %dn", temporary);
printf("Reversed Number = %dn", sum);
return 0;
}









share|improve this question
















I just want to ask on why is there a need to write sum = sum*10+digit instead of just sum = 0+digit? since the result of sum*10 is just 0. This is a code in C language for reversing an entered number. Thanks!



#include <stdio.h>

int main()
{
int number, x = 0, digit, temporary, div = 10, sum = 0;
printf("Enter numbersn");
scanf("%d", &number);
temporary = number;

START:

digit = number%div;
sum = sum*10+digit;
number = number/div;

if(number>0)
goto START;

printf("Reversed Number = %dn", temporary);
printf("Reversed Number = %dn", sum);
return 0;
}






c






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 0:59









Yunnosch

11.2k52033




11.2k52033










asked Nov 14 '18 at 0:52









Mark ReyesMark Reyes

1




1








  • 1





    After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

    – Yunnosch
    Nov 14 '18 at 0:56











  • It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

    – luci88filter
    Nov 14 '18 at 7:56
















  • 1





    After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

    – Yunnosch
    Nov 14 '18 at 0:56











  • It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

    – luci88filter
    Nov 14 '18 at 7:56










1




1





After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

– Yunnosch
Nov 14 '18 at 0:56





After the first time, sum is not 0 anymore. So what happens if sum is the first used digit?

– Yunnosch
Nov 14 '18 at 0:56













It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

– luci88filter
Nov 14 '18 at 7:56







It is sum * 10 because each iteration you need to shift everything to the left just like when multiplying by 2 in binary you shift everything to the left.

– luci88filter
Nov 14 '18 at 7:56














1 Answer
1






active

oldest

votes


















3














In a situation like this it is a very good thing to examine what is happening with simple printouts. If you insert printf("sum: %d digit: %d number: %dn", sum, digit, number); before the if statement, it will become obvious what's going on.



$ ./a.out 
Enter numbers
2345
sum: 5 digit: 5 number: 234
sum: 54 digit: 4 number: 23
sum: 543 digit: 3 number: 2
sum: 5432 digit: 2 number: 0
Reversed Number = 2345
Reversed Number = 5432


Sidenote: There are "approved" ways of using goto. This is not one of them. You should switch



START:
...
if(number>0)
goto START;


to



do {
...
} while(number>0)





share|improve this answer

























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291640%2freversing-an-entered-numbers-in-c-language%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    3














    In a situation like this it is a very good thing to examine what is happening with simple printouts. If you insert printf("sum: %d digit: %d number: %dn", sum, digit, number); before the if statement, it will become obvious what's going on.



    $ ./a.out 
    Enter numbers
    2345
    sum: 5 digit: 5 number: 234
    sum: 54 digit: 4 number: 23
    sum: 543 digit: 3 number: 2
    sum: 5432 digit: 2 number: 0
    Reversed Number = 2345
    Reversed Number = 5432


    Sidenote: There are "approved" ways of using goto. This is not one of them. You should switch



    START:
    ...
    if(number>0)
    goto START;


    to



    do {
    ...
    } while(number>0)





    share|improve this answer






























      3














      In a situation like this it is a very good thing to examine what is happening with simple printouts. If you insert printf("sum: %d digit: %d number: %dn", sum, digit, number); before the if statement, it will become obvious what's going on.



      $ ./a.out 
      Enter numbers
      2345
      sum: 5 digit: 5 number: 234
      sum: 54 digit: 4 number: 23
      sum: 543 digit: 3 number: 2
      sum: 5432 digit: 2 number: 0
      Reversed Number = 2345
      Reversed Number = 5432


      Sidenote: There are "approved" ways of using goto. This is not one of them. You should switch



      START:
      ...
      if(number>0)
      goto START;


      to



      do {
      ...
      } while(number>0)





      share|improve this answer




























        3












        3








        3







        In a situation like this it is a very good thing to examine what is happening with simple printouts. If you insert printf("sum: %d digit: %d number: %dn", sum, digit, number); before the if statement, it will become obvious what's going on.



        $ ./a.out 
        Enter numbers
        2345
        sum: 5 digit: 5 number: 234
        sum: 54 digit: 4 number: 23
        sum: 543 digit: 3 number: 2
        sum: 5432 digit: 2 number: 0
        Reversed Number = 2345
        Reversed Number = 5432


        Sidenote: There are "approved" ways of using goto. This is not one of them. You should switch



        START:
        ...
        if(number>0)
        goto START;


        to



        do {
        ...
        } while(number>0)





        share|improve this answer















        In a situation like this it is a very good thing to examine what is happening with simple printouts. If you insert printf("sum: %d digit: %d number: %dn", sum, digit, number); before the if statement, it will become obvious what's going on.



        $ ./a.out 
        Enter numbers
        2345
        sum: 5 digit: 5 number: 234
        sum: 54 digit: 4 number: 23
        sum: 543 digit: 3 number: 2
        sum: 5432 digit: 2 number: 0
        Reversed Number = 2345
        Reversed Number = 5432


        Sidenote: There are "approved" ways of using goto. This is not one of them. You should switch



        START:
        ...
        if(number>0)
        goto START;


        to



        do {
        ...
        } while(number>0)






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 14 '18 at 1:03

























        answered Nov 14 '18 at 0:57









        BromanBroman

        6,317112341




        6,317112341






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53291640%2freversing-an-entered-numbers-in-c-language%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            The Sandy Post

            Danny Elfman

            Pages that link to "Head v. Amoskeag Manufacturing Co."