Reversing an entered numbers in C language
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
add a comment |
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
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 issum * 10because 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
add a comment |
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
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
c
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 issum * 10because 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
add a comment |
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 issum * 10because 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
add a comment |
1 Answer
1
active
oldest
votes
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)
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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)
add a comment |
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)
add a comment |
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)
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)
edited Nov 14 '18 at 1:03
answered Nov 14 '18 at 0:57
BromanBroman
6,317112341
6,317112341
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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 * 10because 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