Tôi chỉ đọcTại sao chính không trả về 0 ở đây?
ISO/IEC 9899: 201x Ủy ban Dự thảo - 12 tháng tư 2011
trong đó tôi tìm thấy dưới chấm dứt chương trình 5.1.2.2.3
..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 trả về nào trong số main()
và nếu chương trình chạy thành công, thì tại dấu ngoặc ôm} của chính sẽ trả về 0.
Nhưng trong foll do i mã không chỉ định bất kỳ tuyên bố trở lại, nhưng nó không trả lại 0
#include<stdio.h>
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?
Bạn đã biên dịch bằng trình biên dịch C99 (hoặc lớn hơn) chưa? – pmg
+1 vì có sự kiên nhẫn để đọc thông số kỹ thuật ..... – Asher
tôi có biên dịch với gcc không có tùy chọn/cờ bổ sung? –