Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Giá trị trả về của printf() và scanf() trong C

Hàm printf() và scanf() dùng cho xuất/nhập trong C, định nghĩa trong stdio.h.

Hàm printf()

In đầu ra. Trả về số ký tự đã in. Nếu lỗi, trả về giá trị âm.

Ví dụ

#include <stdio.h>

int main() {
    char str[] = "THE SKY IS BLUE";
    int ret = printf("%s", str);
    printf("\nSo ky tu da in: %d", ret);
    return 0;
}

Kết quả

THE SKY IS BLUE
So ky tu da in: 15

Giải thích: Chuỗi "THE SKY IS BLUE" dài 15 ký tự (kể cả khoảng trắng). printf trả về 15.

Hàm scanf()

Đọc đầu vào định dạng. Trả về số mục nhập thành công. Nếu lỗi hoặc EOF, trả về EOF (thường là -1).

Ví dụ

#include <stdio.h>

int main() {
    int x, y, z;
    int ret = scanf("%d%d%d", &x, &y, &z);
    printf("So gia tri doc duoc: %d\n", ret);
    printf("x = %d, y = %d, z = %d\n", x, y, z);
    return 0;
}

Kết quả (nhập: 7 5 4)

So gia tri doc duoc: 3
x = 7, y = 5, z = 4

Giải thích: Đọc 3 số nguyên thành công, trả về 3. Nếu nhập "7 abc 4", chỉ đọc được 1, trả về 1.

Tóm tắt

HàmTrả về thành côngTrả về thất bại
printfSố ký tự inGiá trị âm
scanfSố input matchEOF (-1)