Главная /
Программирование на языке 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 = atoi(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
Ошибка! Сообщение1 Сообщение2
Сложность вопроса
46
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Я завалил сессию, почему я не углядел этот чёртов сайт с всеми ответами с тестами intuit до сессии
23 ноя 2019
Аноним
Я провалил зачёт, какого чёрта я не увидел этот чёртов сайт с всеми ответами по тестам интуит в начале сессии
07 сен 2018
Аноним
Я сотрудник деканата! Тотчас удалите этот ваш сайт с ответами по интуит. Пожалуйста
01 сен 2016
Другие ответы на вопросы из темы программирование интуит.
- # Для чего используется класс статической памяти?
- # Программа запускается с одним аргументом, задающим имя и фамилию, которые в результате выполнения программы выводятся в файл. Каким образом необходимо задать аргумент командной строки, чтобы имя и фамилия были выведены в файл в формате Имя Фамилия?
- # Приведенная программа считает в обратном порядке, начиная с какого-либо значения (указанного в командной строке): int main(int argc, char *argv[]) { int disp, count; setlocale (LC_ALL, "rus"); if(argc<2) { printf("В командной строке на задано число\n"); exit(1); } if(argc==3 && !strcmp(argv[2], "display")) disp = 1; else disp = 0; for(count=atoi(argv[1]); count; --count) if(disp) printf("%d ", count); putchar('\a'); printf("Счет закончен"); return 0; } Что будет выведено на экран в результате выполнения приведенной программы, если ее запуск выполняется из командной строки командой Example.exe?
- # В результате выполнения какого фрагмента кода на экран будут выведены числа от 0 до 10?
- # В каком случае при возникновении ошибки при выделении памяти эта ошибка не будет корректно обработана?