Tôi đang sử dụng getchar() trong khi viết một chương trình trong C (scanf là không được phép được nêu ra tại thời điểm này trong khóa học.) Tôi đã tự hỏi nếu mỗi lần tôi gọi nó nếu nó chuyển sang kế tiếp; bao gồm trong các hoạt động chuyển nhượng. Ví dụ; Tôi đang cố gắng đọc trong một đôi từ giao diện điều khiển; và quyết định xem nó có dấu âm ở mặt trước không. Nếu nó không; Tôi muốn gán một biến neg là 1 (vì vậy mà tôi có thể nói nếu kết quả cuối cùng phải được trả về tiêu cực) và sau đó tôi muốn chuyển sang ký tự tiếp theo để thực hiện tính toán gấp đôi thực tế của tôi và những gì không. cũ)sử dụng hàm getchar() trong C; nó di chuyển đến char tiếp theo mỗi khi tôi sử dụng nó? Bao gồm trong các hoạt động gán?
int x = getchar();
int neg = 0;
if(x == '-') {
neg = 1;
x = getchar(); // will this make it so the next time I use the x
} // variable it will be past the negative sign and to the
//first actual digit?
Sắp xếp - đọc xảy ra ngay khi 'x = getchar();' được thực thi, không phải lần sau 'x' được sử dụng. –
Những gì bạn làm với giá trị trả về của bất kỳ hàm nào, bao gồm 'getchar()', không có tác động gì đến chính chức năng của nó khi bạn gọi nó. Cụ thể, việc gán giá trị trả về cho biến không có tác động như vậy. Có những yếu tố khác điều chỉnh hành vi chức năng, chẳng hạn như các giá trị của các đối số của chúng, nhưng các hàm không biết và cũng không quan tâm bạn làm gì với các giá trị trả về của chúng. –