void hello(void) {
//something
}
int main()
{
hello(1); //error
return 0;
}
Przypadek 2:
int main(void) {
//something
return 0;
}
Wykonanie:
./a.out something something //No error, Why?
Dlaczego nie ma błędu? main
nie będzie mógł przyjmować żadnych argumentów. Dlaczego więc można podać argumenty z wiersza poleceń?
Dlaczego miałbyś oczekiwać błędu? –
@OliverCharlesworth Ponieważ przekazujemy argument do main? kompilator nie pojawia się w obrazie, ale w czasie wykonywania/wczytywania, dlaczego nie ma błędu? – JagsVG
Powłoka * zawsze * wysyła swoje argumenty do programu - nawet jeśli nie podasz żadnego (zwykle wysyła 'argv [0]'). 'main' nie jest tym samym rodzajem funkcji co' cześć'. – usr2564301