Chương trình của tôi như sau;Tại sao việc sử dụng trình định dạng sai trong C làm hỏng chương trình của tôi trên Windows 7?
#include <stdio.h>
#include <string.h>
int main()
{
char string[] = "Gentlemen start your engines!";
printf("That string is %s characters long.\r\n", strlen(string));
return 0;
}
Tôi đang biên soạn dưới gcc và mặc dù nó không cho tôi bất kỳ lỗi nào chương trình gặp sự cố mỗi khi tôi chạy. Mã này có vẻ là tốt đẹp từ các ví dụ tôi đã nhìn thấy. Thật tuyệt khi biết tôi có làm gì sai không.
Cảm ơn.
Cảm ơn mọi người. Nên đã thấy rằng, tôi vừa mới bắt đầu với C và đã được chơi xung quanh với các chương trình văn bản bằng cách sử dụng dây chỉ cho đến nay, vì vậy% s chỉ tự động đến tâm trí. – austinprete
+1 vì tôi biết rằng tôi nên sử dụng% zu cùng với thay vì chỉ% u hoặc thậm chí% d –
Nếu bạn đang sử dụng GCC, hãy sửa lỗi của bạn bằng '-Wall' hoặc có thể' -Wextra' hoặc có thể '-Werror'. GCC có thể kiểm tra chuỗi định dạng và cảnh báo về các đối số không chính xác cho các hàm 'printf'-,' scanf'-, 'strftime'- và' strfmon'. –