Khi tôi chạy chương trình dưới đây, tôi không nhận được bất kỳ đầu ra nào.hành vi bất thường với printf với vòng lặp vô hạn trong khi
#include <stdio.h>
int main()
{
printf("hello");
while(1)
{
}
return 0;
}
trong khi nếu tôi chỉnh sửa các lệnh printf để thêm một nhân vật '\ n' vào cuối của chuỗi, sau đó sản lượng dự kiến đến. những gì đang xảy ra trong mã đầu tiên? Tôi chỉ đơn giản là không thể hiểu được nó.
gọi 'fflush (stdout)' btw bạn có vòng lặp vô hạn. –
Đầu ra được đệm. Bạn cần hoặc là một '\ n' ở cuối chuỗi để làm cho nó in ra, hoặc sử dụng' fflush (stdout) 'sau khi' printf' của bạn như @GrijeshChauhan đề xuất. Có những hoạt động khác mà tuôn ra bộ đệm đầu ra là tốt, chẳng hạn như một chức năng đầu vào ('getchar' hoặc' scanf') nhưng nó không rõ ràng từ đoạn mã của bạn những gì vòng lặp của bạn đang làm. – lurker
có thể trùng lặp của [Tại sao chương trình không thực thi lệnh printf cuối cùng?] (Http://stackoverflow.com/questions/11277796/why-does-program-not-execute-final-printf-statement) – lurker