01/10/2018, 14:42

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

Florastamine viết 16:49 ngày 01/10/2018

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]

No Name viết 16:53 ngày 01/10/2018

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

Jacaré Junior viết 16:42 ngày 01/10/2018

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

Trần Hoàn viết 16:42 ngày 01/10/2018

cpp nghĩa là C++

Florastamine viết 16:47 ngày 01/10/2018

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.

As of VS13, the Visual C++ compiler supports C99 style variable declarations. More details here:

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
rogp10 viết 16:43 ngày 01/10/2018

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

Bài liên quan
0