Yêu cầu thg 11 10, 2020 5:39 SA 205 0 1
  • 205 0 1
0

Dùng hàm fgets() trong C để chuyển dạng giá trị người dùng nhập là string sang int

Chia sẻ
  • 205 0 1

Số N phải được lấy từ người dùng. Phải sử dụng hàm fgets () để lấy N. Sau đó truyền N vào Fn(n) function để tính rồi trả về main function.

Em làm như sau và em đang bị 2 lỗi là:

passing argument 1 of 'atoi' from incompatible pointer type

và

expected 'const char ' but argument is of type 'char ()[10]'

#define MAX_INPUT 200
#define MIN_INPUT 1


int Fn(int n){
    int result;

    if (n >= 0)
    {
        if (n < 3)
        {
            result = 10;
            Fn(n-1);
        }else
        {
            result = ((2 * n) + 1 + (Fn(n - 1) % 50));
        }
        printf("%d ", result);
        return result;
    }  
}


int main(){
    int result;  
    char n[10] = {0};  

    printf("How many number do you want to print(1-200): ");
    fgets(n, 10, stdin);

    if (atoi(&n) <= MAX_INPUT && atoi(&n) >= MIN_INPUT)
    {
        Fn(atoi(&n)-1);
    }else
    {
        printf("Wrong input!");
        main();
    }

    return 0;
}

1 CÂU TRẢ LỜI


Đã trả lời thg 11 10, 2020 6:36 SA
Đã được chấp nhận
+1

atoi(&n) --> atoi(n)

Chia sẻ
Avatar Suko Yaka @Fresher
thg 11 11, 2020 2:04 SA

seeder à bro 😄

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí