Thay đổi giá trị mặc định của biến toàn cục trong C++

khi mình dùng biến toàn cục thì nó luôn mặc định bằng 0 vậy làm để thay đổi giá trị của nó nhỉ?
thank mọi người!!

#include <stdio.h>
int global_variable = 69;
int main()
{
    printf("global_variable = %d", global_variable);
    return 0;
}
1 Like

anh ko hiểu ý em rồi , như code trong hình ,nếu để biến dạng float đó trong hàm main thì nó báo lỗi , để ra ngoài hàm main thì chạy được ,nhưng khi tính điểm toàn ra bằng 0

Code của bạn thiếu dấu mở hàm main kìa

1 Like

cho em hỏi nó báo lỗi gì đây ạ , đã thêm dấu mở hàm rồi ạ

Mình không rành về macro lắm. Nhưng bên trên, dòng define bạn khai báo là diemtrungbinh(a, b, c) thì bên dưới phải gõ đúng chứ

bọn em đang học tiền xử lý ,bài tập nó bắt dùng

ok anh ,đã chạy được. thank very much all

Như thế này sẽ tốt hơn:

#include <iostream>
#define average(a, b, c) ({typeof(a) _a = (a), _b = (b), _c = (c); 1 > 0 ? ((_a + _b + _c) / 3) : 0;})
int main()
{
	float a = 1.1, b = 2.2, c = 3.3;	
	std::cout << average(a, b, c) << std::endl;
	return 0;
}
2 Likes

Thôi anh ơi, tốt thế này newbie nhìn thấy nó bỏ học luôn ấy =))

2 Likes

Nhưng làm như thế sẽ tránh được lỗi này: average(a++, b++, c++), đại loại thế.
Mình nhớ trên DNH có 1 topic nói về #define nên các bạn có thể search để tìm đọc !

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