Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char **argv) {
- if (argc < 2) {
- return -1;
- }
- int in = atoi(argv[1]);
- if (in == 0) {
- printf("0\n");
- return 0;
- }
- int negative = in < 0 ? 1 : 0;
- printf("negative: %d\n", negative);
- int digits = 0;
- int tmp = in;
- while (tmp != 0) {
- tmp /= 10;
- digits++;
- }
- printf("digits: %d\n", digits);
- char out[digits + negative + 1];
- out[0] = negative ? '-' : 0;
- out[sizeof(out)-1] = '\0';
- tmp = in;
- int i;
- for (i = negative ? digits : digits-1 ; i >= negative ? 1 : 0; i--) {
- out[i] = negative ? (tmp % 10) * -1 + 48 : (tmp % 10) + 48;
- tmp /= 10;
- }
- printf("%s\n", out);
- return 0;
- }
Add Comment
Please, Sign In to add comment