Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Приведенная программа формирует сообщение об ошибке из отдельных строк в зависимости от значения аргумента командной строки, который задает степень критичности ошибки: #include <stdio.h> #include <conio.h> #include <stdarg.h> #include &l
Приведенная программа формирует сообщение об ошибке из отдельных строк в зависимости от значения аргумента командной строки, который задает степень критичности ошибки:
#include <stdio.h>
#include <conio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <locale.h>
void error(int severity, ... );
int main(int argc, char* argv[])
{
char err[][30] = {"Сообщение1", "Сообщение2"};
int n;
setlocale (LC_ALL, "rus");
n = argv[1];
switch (n) {
case 0: error(0, "Ошибка!", '\0');
break;
case 1: error(0, "Ошибка!", err[0], '\0');
break;
default: error(1, "Ошибка!", err[0], err[1], '\0');
}
return 0;
}
void error(int severity, ... )
{
va_list ap;
va_start(ap, severity);
for (;;) {
char *p = va_arg(ap, char*);
if (p == '\0') break;
printf("%s ", p);
}
va_end(ap);
printf("\n");
}
Программа запускается из командной строки командой Example.exe 0
. При этом вместо сообщения Ошибка!
на экран выводится сообщение Ошибка! Сообщение1 Сообщение2
. С чем это связано?
вопрос
Правильный ответ:
переменной
n
необходимо присвоить значение argv[0]
с переменной переменной
n
необходимо выполнить дополнительные вычисления argv[1]
указывает на строку Сложность вопроса
35
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Это очень намудрённый тест intuit.
02 июл 2020
Аноним
Пишет вам преподаватель! Тотчас заблокируйте сайт и ответы intuit. Пожалуйста
04 дек 2016
Другие ответы на вопросы из темы программирование интуит.
- # Какие утверждения являются верными?
- # Какие из перечисленных операций разрешено выполнять над структурами?
- # Размер (в байтах) объектов каких типов данных зависит от разрядности процессора?
- # Нужно посчитать количество продукции, выпущенной каждым заводом и количество продукции каждого наименования, выпущенной всеми заводами. Вычисленные и исходные данные объединены в таблицу: [Большая Картинка]Какой тип массива необходимо использовать для решения поставленной задачи?
- # В каком случае при возникновении ошибки при выделении памяти эта ошибка не будет корректно обработана?