C
[C언어]숫자 형식의 문자열 처리
데사몽굴
2024. 4. 22. 10:28
1. 숫자 형식의 문자열을 처리하는 함수 만들기
숫자 형태로 구성된 문자열을 정수로 바꾸는 함수를 구성해보도록 하겠습니다.
#include <stdio.h>
int ArrayToInteger(char string[])
{
int count = 0, num = 0;
while (string[count] != 0)
{
// 반복할 때마다 이전 값에 10을 곱해서 자릿수를 증가시킴
num = num * 10 + string[count] - '0';
count++;
}
return num;
}
void main()
{
int first_num, second_num;
char first_string[16], second_string[16];
printf("input first number : ");
gets(first_string); // 첫 번째 문자열을 입력받음
printf("input seconde number : ");
gets(second_string); // 두 번째 문자열을 입력받음
first_num = ArrayToInteger(first_string);
second_num = ArrayToInteger(second_string);
// 정수로 변환된 두 수를 합산한 결과 값을 출력함
printf("%d + %d = %d\n", first_num, second_num, first_num + second_num);
}
2. atoi 함수를 사용하여 문자열을 정수로 변환
#include <stdio.h>
#include <stdlib.h>
void main()
{
int first_num, second_num;
char first_string[16], second_string[16];
printf("input first number : ");
gets(first_string); // 첫 번째 문자열을 입력받음
printf("input seconde number : ");
gets(second_string); // 두 번째 문자열을 입력받음
first_num = atoi(first_string); // 문자열 -> 정수
second_num = atoi(second_string); // 문자열 -> 정수
// 정수로 변환된 두 수를 합산한 결과 값을 출력함
printf("%d + %d = %d\n", first_num, second_num, first_num + second_num);
}
atoi 함수를 활용하면 따로 함수를 정의하지 않고 문자열을 정수로 변환할 수 있습니다.