Asked Nov 10th, 5:39 AM 53 0 1
  • 53 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

Share
  • 53 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 ANSWERS


Answered Nov 10th, 6:36 AM
Accepted
+1

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

Share
Suko Yaka @Fresher
Nov 11th, 2:04 AM

seeder à bro 😄

-1
| Reply
Share