Я новичок в мире программирования, и это мой первый пост, так что извините за многословие.
Недавно начал изучать C. Сегодня я нашел кое-что очень интересное в C, и мне было интересно, может ли кто-нибудь указать мне правильное направление или помочь мне понять, почему приведенный ниже код работает нормально. Я сделал несколько поисков, но не смог найти правильную причину или объяснение того, почему это происходит:
Например: я написал функцию с любым количеством параметров в вызове аргумента для моего вызова функции test_hello_world
, у которого даже нет аргумента, моя программа не выдает никаких ошибок, кроме формы «неявного объявления предупреждения о функции».
Образец кода
—— Код—-
#include<stdio.h>
int main()
{
test_hello_world(1, 2, 3, 4, 4, 5, 5);
return 0;
}
int test_hello_world(){
printf("Hello World! debug purpose \n");
return 0;
}
-Wall -Wextra
дляgcc
или/W3
дляcl.exe
(VS)). Не принимайте код, пока он не скомпилируется без предупреждения. И укажите, просто ли вы компилируете объект или пытаетесь создать исполняемый файл."warning: implicit declaration of function ‘test_hello_world’"
- person David C. Rankin   schedule 20.11.2017-std=c11 -Wall -Wextra -pedantic
, но не получил никаких дополнительных предупреждений, кроме неявного объявления - person klutt   schedule 20.11.2017-Werror -Wmissing-prototypes -Wstrict-prototypes
и, возможно, несколько дополнений). Пространство перед новой строкой в строке формата принесло бы мне недостатки, если бы я просмотрел его, но я не знаю опции компилятора, которая вызывала бы предупреждения об этом. - person Jonathan Leffler   schedule 20.11.2017