cuốn sách gpt4 ai đã làm

c - Scanf 输入结转到下一个 scanf

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 08:10:34 28 4
mua khóa gpt4 Nike

Tôi có một đoạn mã ở đây thể hiện một số hành vi không mong muốn khi nhập một chuỗi có dấu cách. Ví dụ in bất hợp pháp_argument. Khi đầu vào chứa nhiều từ, tôi muốn nó chỉ đăng ký từ đầu tiên.

Những gì hiện đang xảy ra là:

christian@oblig2 $ in 0
Nhập thông tin router ID > ID: 0, flag: f7, model_length: 13, model: D-Link y6000

Nó đăng ký cái đầu tiên để so sánh trong vòng lệnh in. Nhưng quét Không nhắc người dùng nhập dữ liệu tiếp theo, thay vào đó bỏ qua nó và đưa người dùng từ dữ liệu đầu vào trước đó quét Từ/số thứ hai được nhập.

Điều tôi muốn xảy ra là:

christian@oblig2 $ in 0
Nhập ID bộ định tuyến để biết thông tin > 0
ID: 0, cờ: f7, model_length: 13, model: D-link y6000.

Nếu không thì mọi thứ sẽ hoạt động như mong đợi, nhưng tôi tự hỏi liệu có cách nào dễ dàng hơn để thực hiện việc này không. Tôi đã thử sử dụng Strtok nhưng không gặp may.

đầu vào char[256];
printf("%s@oblig2 $ ", getenv("USER"));
scanf("%s", đầu vào);

if(strcmp(input, "print") == 0) {
in();
}

Đoạn mã trên là cách tôi nhận thông tin đầu vào từ người dùng.

Có ai có ý tưởng gì không?

câu trả lời hay nhất

hiện hữu quét() Sau khi nhận được giá trị đầu vào đầu tiên, nó để lại các giá trị còn lại trong luồng đầu vào. Hãy thử điều này để loại bỏ các ký tự còn lại:

int ch;
while ((ch = getchar()) != '\n' && ch != EOF)
tiếp tục // loại bỏ các ký tự còn lại;

Nếu bạn đặt những dòng này vào lần tới từ stdin Các ký tự bổ sung sẽ không làm hỏng thông tin đầu vào của bạn trước khi đọc.

Về c - Chuyển đầu vào Scanf sang scanf tiếp theo, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/39840207/

28 4 0
Bài viết khuyến nghị: c - --i làm gì trong hàm căn bậc hai?
Bài viết khuyến nghị: URL trong Portlet
Bài viết khuyến nghị: Kết xuất khối opengl Java
Bài viết khuyến nghị: Thymeleaf + Spring-Boot - Tại sao tôi không thể truy cập tài nguyên tĩnh?
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress