Скимминг Приложение B к стандарту C , я не вижу ничего, что принимало бы точно 5 аргументов и возвращало int
.
OTOH stdio.h
полон функций, которые возвращают int
и принимают переменную количество аргументов в семействе scanf
и printf
. Однажды можно что-то придумать. Поскольку buffer
неинициализирован, и код хочет его напечатать, предположительно мы собираемся что-то прочитать в него из stdin
. Это, вероятно, означает какой-то надуманный звонок scanf
.
#include <stdio.h>
int main() {
char buffer [50];
int n;
// Same as
// n = scanf("%40s", buffer);
n = scanf(
"%10s%10s%10s%10s",
buffer,
&buffer[10],
&buffer[20],
&buffer[30]
);
// printf("%s",buffer,n);
printf("'%s' %d\n",buffer,n);
return 0;
}
Если это ответ, который они ожидают, это упражнение довольно бессмысленно.
Обратите внимание, что printf
в исходном коде содержит ошибку, в которой передается слишком много аргументов. Может быть, это ключ к разгадке, и предполагается, что это разумное использование Неопределенное поведение ?