Главная /
Программирование на языке 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
Ошибка! Сообщение1 Сообщение2
Сложность вопроса
26
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Я сотрудник университета! Срочно сотрите сайт и ответы intuit. Не ломайте образование
04 июн 2018
Другие ответы на вопросы из темы программирование интуит.
- # Какая программа содержит ошибку?
- # Чему будет равно значение переменной str после выполнения приведенной программы? union test { char ch1[5]; char ch2[2]; char ch3[1]; }; int main(void) { union test t; char *str; strcpy(t.ch1, "test"); strcpy(t.ch2, "be"); t.ch3[0] = 'w'; str = t.ch1; return 0; }
- # Какая строка является недопустимой?
- # Программа запускается с одним аргументом, задающим имя и фамилию, которые в результате выполнения программы выводятся в файл. Каким образом необходимо задать аргумент командной строки, чтобы имя и фамилия были выведены в файл в формате Имя Фамилия?
- # Каким будет результат выполнения приведенной программы? #include <stdio.h> #include <string.h> #define N 10 int main() { char strLow[N]; int i; printf("Enter string in low register (%d symbols): \n", N); scanf("%s", strLow); for (i=0; i<strlen(strLow); i++) putchar(strLow[i] - 32); printf("\n"); return 0; }