Может ли кто-нибудь сказать мне, допустимо ли это на языке C? Вы можете написать прототипы без имен переменных?
Да.
Что касается второго вопроса:
Если вы хотите функцию быть внутри main()
, а затем взять тело функции, поместите его в main()
и убедитесь, что аргументы, что функция была хорошо обработаны.
Этот пример не прояснятся вещи:
#include <stdio.h>
void print(int);
void inc_p(int);
int main(void) {
int num = 5;
print(num);
inc_p(num);
// to get rid of inc_p(), copy paste it's body inside main
// and you will get this
// a++;
// print(a);
// However, a was an argument, here you need to use
// the variable declared in main(), i.e. 'num'
num++;
print(num);
return 0;
}
void print(int a) {
printf("%d\n", a);
}
void inc_p(int a) {
a++;
print(a);
}
да прототип функции не должен иметь имена аргументов, только тип - вы не можете иметь вложенные функции в C, хотя, так что никаких функций определенный в main() – bph
Для меня это выглядит отлично! вам не нужно записывать имена параметров в прототипе функции! Но вы не можете определить функцию в другой функции – Rizier123
, что «я могу написать ее в основном и просто написать, где read - это имя переменной?» Означает? У меня возникли проблемы с разбором этого предложения. То же самое с 'удалить функцию и сделать ее в основном'. Что вы понимаете под «удалить функцию» и «сделать функцию в главном» – PeterT