본문 바로가기
C

[C언어] 사소한 주의사항 (내가 보는 용도 ✏️ 계속 수정 중)

by hyeeein 2025. 3. 20.

1. if 조건문을 사용 할 때, 조건식 전체를 괄호로 감싸야 함

if ((number % n == 0) && (number % m == 0)) {

 

 

 

2. C 언어에서는 Python처럼 ** 연산자를 사용하여 거듭제곱을 계산할 수 없음

  • int result = 2 ** 2;  // C에서는 사용 불가 → 컴파일 오류 발생
  • 해결 방법
    1. pow() 함수 사용 (#include 필요) : pow(2, 2)는 2^2
    2. * 연산자 사용 : 2 * 2는 2^2
    3. 비트 연산자 (<< 왼쪽 시프트) 사용 : 1 << n은 2의 n제곱을 표현하는 것 / 단, 2의 거듭제곱을 할 때에만 사용 가능

 

3. strcmp() 함수란?

  • strcmp() 함수는 C 언어에서 두 문자열을 비교하는 함수
  • 문자열이 같으면 0, 첫 번째 문자열이 크면 양수, 작으면 음수를 반환
#include <stdio.h>
#include <string.h>  // strcmp() 함수가 선언된 헤더파일

int main() {
    char str1[] = "hello";
    char str2[] = "world";
    char str3[] = "hello";

    // 두 문자열이 같은 경우 (str1 == str3)
    if (strcmp(str1, str3) == 0) {
        printf("str1과 str3은 같습니다!\n");
    }

    // str1이 str2보다 작은 경우 (사전순 비교)
    if (strcmp(str1, str2) < 0) {
        printf("str1은 str2보다 사전순으로 앞에 있습니다!\n");
    }

    // str2가 str1보다 큰 경우
    if (strcmp(str2, str1) > 0) {
        printf("str2는 str1보다 사전순으로 뒤에 있습니다!\n");
    }

    return 0;
}