История изменений
Исправление hateyoufeel, (текущая версия) :
Никто не понимает, что ты тут пишешь, но забудем на секунду об указателях:
C ➤ cat args.c
#include <stdio.h>
void f() {
printf("Hello, LOR!\n");
}
int main(void) {
f();
f(1);
f(1,2);
f(1,2,3);
return 0;
}
C ➤ gcc args.c -o args -Wall -Wextra
C ➤ ./args
Hello, LOR!
Hello, LOR!
Hello, LOR!
Hello, LOR!
C ➤ gcc args.c -o args -Wall -Wextra -std=c23
args.c: In function ‘main’:
args.c:9:3: error: too many arguments to function ‘f’
9 | f(1);
| ^
args.c:3:6: note: declared here
3 | void f() {
| ^
args.c:10:3: error: too many arguments to function ‘f’
10 | f(1,2);
| ^
args.c:3:6: note: declared here
3 | void f() {
| ^
args.c:11:3: error: too many arguments to function ‘f’
11 | f(1,2,3);
| ^
args.c:3:6: note: declared here
3 | void f() {
|
Так тебе стало понятнее, что именно изменилось?
Исходная версия hateyoufeel, :
Никто не понимает, что ты тут пишешь, но забудем на секунду об указателях:
C ➤ cat args.c
#include <stdio.h>
void f() {
printf("Hello, LOR!\n");
}
int main(void) {
f();
f(1);
f(1,2);
f(1,2,3);
return 0;
}
C ➤ gcc args.c -o args -Wall -Wextra
C ➤ ./args
Hello, LOR!
Hello, LOR!
Hello, LOR!
Hello, LOR!
C ➤ gcc args.c -o args -Wall -Wextra -std=c23
args.c: In function ‘main’:
args.c:9:3: error: too many arguments to function ‘f’
9 | f(1);
| ^
args.c:3:6: note: declared here
3 | void f() {
| ^
args.c:10:3: error: too many arguments to function ‘f’
10 | f(1,2);
| ^
args.c:3:6: note: declared here
3 | void f() {
| ^
args.c:11:3: error: too many arguments to function ‘f’
11 | f(1,2,3);
| ^
args.c:3:6: note: declared here
3 | void f() {
|
Так тебе понятнее стало?