Tại sao hàm main lại return 0

Tôi vừa mới đọc

Dự thảo của Ủy ban ISO / IEC 9899: 201x - ngày 12 tháng 4 năm 2011

trong đó tôi tìm thấy theo 5.1.2.2.3 Chấm dứt chương trình

..reaching the } that terminates the main function returns a value of 0.

nó có nghĩa là nếu bạn không chỉ định bất kỳ câu lệnh return nào trong main[]và nếu chương trình chạy thành công, thì tại dấu ngoặc nhọn} của main sẽ trả về 0.

Nhưng trong đoạn mã sau, tôi không chỉ định bất kỳ câu lệnh trả lại nào, nhưng nó không trả về 0

#include int sum[int a,int b] { return [a + b]; } int main[] { int a=10; int b=5; int ans; ans=sum[a,b]; printf["sum is %d",ans]; }

biên dịch

gcc test.c ./a.out sum is 15 echo $? 9 // here it should be 0 but it shows 9 why?

Video liên quan

Chủ Đề