The Program in C that converts a string like “124” to an integer 124 is given below:
#include <stdio.h>
#include <string.h>
int main() {
char input[10];
printf("Enter a string of digits: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = 0; // remove newline char
int result = 0;
int i = 0;
while(input[i] != '\0') {
if (input[i] < '0' || input[i] > '9') {
printf("Invalid input. Please enter a string of digits.\n");
return 1;
}
result = result * 10 + (input[i] - '0');
i++;
}
printf("Integer value: %d\n", result);
return 0;
}
Output:
Enter a string of digits: 990
Integer value: 990
Pro-Tips💡
The above code uses fgets()
to read the input string, and then removes the newline character that is appended to the input by fgets
by replacing it with a null terminator.
It also uses a while loop to iterate through the input string until a null terminator is encountered, and checks if each character is a digit or not. If it’s not a digit it returns an error message.
If it is a digit, it multiplies the current value of result
by 10 and adds the numerical value of the current character, effectively converting the string of digits to an integer value.
Finally it prints the final integer value which is stored in the result
variable
Learn C-Sharp ↗
C-sharp covers every topic to learn about C-Sharp thoroughly.
Learn C Programming ↗
C-Programming covers every topic to learn about C-Sharp thoroughly.
Learn C++ Programming↗
C++ covers every topic to learn about C-Sharp thoroughly.