Lỗi lập trình c trên visual studio

Mọi người cho em hỏi tại sao e tạo file có đuôi “.c” để lập trình c trên VS 2012 ultimate thì nó lại báo lỗi như vậy? Còn khi tạo file “.cpp” để lập trình c thì nó lại không hề báo lỗi

Bạn đặt đuôi file là .c thì VS sẽ mặc định là bạn muốn compile C, mà C thì không cho tạo biến trong for. Sửa lại:

for(n = 0; n <= 10; n++)
...

[spoiler]Thật ra C99 cho phép điều này, nhưng hình như VS không mặc định về C99, phải pass flag để specify standard :D[/spoiler]

1 Like

@anon5203072 bạn có thể hướng dẫn mk pass flag dc ko?

Vs nó dùng để code c++ nhiều hơn, xài vs mà khai định nghĩa biến trong for là nó báo lỗi(C89). Khuyên thím nên xài ide khác.
Với lại nên tập thói quen khai báo biến cục bộ đi để còn xài lại, khai báo trong 1 khối thế kia sẽ gây ức chế :v

cpp nghĩa là C++

1 Like

Theo như mình đọc được ở đây (https://stackoverflow.com/questions/13308944/how-to-simulate-c99-in-visual-studio-for-variables-declaration) thì compiler của VS (msvc) chỉ hỗ trợ C89, từ VS 2013 trở đi mới hỗ trợ C99, nghĩa là bạn muốn sử dụng for(int n = 0; i <= 10; n++) thì phải cài VS 2013 trở lên.

Bạn có 3 lựa chọn:

  • Update compiler (đồng nghĩa với việc update VS) lên 2013 trở lên.
  • Bỏ C, dùng C++.
  • Sử dụng dòng compiler khác (GCC, TDM-GCC, MinGW GCC, LLVM/Clang, etc.), Khi đó bạn có thể mặc định về C99 với -std=gnu++99
1 Like

Thớt viết C thì dùng IDE khác cho nhẹ :smiley: chứ VS dùng để viết C#, F# và Win 10 app thôi.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?