программа по-прежнему очень пуста и «голая», потому что им просто пытаются избавиться от этой логики, прежде чем я действительно начну создавать функции. По какой-то причине, независимо от моего argv [1], он всегда печатает «Сообщение справки». Что мне не хватает? У меня плохое настроение по поводу утверждения, но я не знаю, что с ним не так.Не работает должным образом. Что мне не хватает?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void help()
{
printf("The help message\n");
exit(1);
}
void a()
{
printf("The a screen\n");
exit(1);
}
int main(int argc, char *argv[])
{
char recognised_commands[3] = {help(), a()};
int i;
if (argc != 2)
{
fprintf(stderr, "usage of sake: \"sake [option(s)]\"\nFor a full listing of all available commands type \"-help\" or \"--help\"\n\n");
exit(1);
}
for (i = recognised_commands[0]; i != recognised_commands; i++)
{
printf(argv[1]);
}
}
Edit 1: djikay: Исправлена -1 до 0, Рики: Как исправить помощь() и а(), чтобы вызвать только один пользователь вводит после имени программы (EX: саа-а)? Я также зафиксировал выход (0). Благодаря
Скажите, пожалуйста, что '-1' в этом опечатке:' recognised_commands [-1] '. – djikay
Это: char charified_commands [3] = {help(), a()}; ', похоже, пытается присвоить возвращаемое значение' help() ', но функция' help() 'ничего не возвращает , он просто печатает сообщение. –
Существует довольно некоторая работа над циклом 'for' ... – jcaron