Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Определите, содержит ли приведенная программа ошибки? Если содержит, укажите, какие именно? int main(void) { struct test { unsigned int : 3; unsigned int f1 : 1; unsigned int f2 : 1; unsigned int f3 : 1; unsigned int type : 8; unsigned int index : 18; };
Определите, содержит ли приведенная программа ошибки? Если содержит, укажите, какие именно?
int main(void)
{
struct test {
unsigned int : 3;
unsigned int f1 : 1;
unsigned int f2 : 1;
unsigned int f3 : 1;
unsigned int type : 8;
unsigned int index : 18;
};
int a : 4, b;
struct test t;
t.type = 3439;
b = a + t.type;
//printf("t.type = %d\n", t.type);
return 0;
}
вопрос
Правильный ответ:
в структуре
test
задано безымянное битовое поле
битовое поле объявлено вне структуры
переменной
t
присваивается недопустимое значение
программа не содержит ошибок
Сложность вопроса
43
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Экзамен прошёл на пять. Спасибо за ответы
04 июл 2017
Аноним
Спасибо за ответы интуит
21 июн 2016
Другие ответы на вопросы из темы программирование интуит.
- # Функция is_in определяет, входит ли символ c в строку s: int is_in(char *s, char c) (1) { while(*s) (2) if(*s==c) return 1; (3) else s++; (4) return 0; (5) } Чему будет равно значение переменной i в результате вызова int i = is_in("Lection 10", 'a')?
- # Чему будет равно значение переменной s в результате выполнения приведенной программы? #include <stdio.h> #define n 5 void fun(int *mas, int k); int sum(int *mas, int k); int main( void ) { int arr[n] = {3,4,1,2}; int i, s; fun(arr, n); s = sum(arr, n); return 0; } void fun(int *mas, int k) { int i, s = 0; for (i=0; i<k; i++) ++mas[i]; } int sum(int *mas, int k) { int i, s = 0; for (i=0; i<k; i++) s += mas[i]; return s; }
- # Аналогию какой функции представляет собой приведенная программа? #include <stdio.h> #include <string.h> #define N 10 int main() { int i = 0; char ch; char str1[N] = "test"; char str2[N] = ""; ch= str1[0]; while (ch!='\0') { str2[i] = str1[i]; i++; ch= str1[i]; } return 0; }
- # В результате выполнения приведенного фрагмента кода на экран выводится значение переменной sum, равное 15: int i, N, sum = 0; int arr[] = {3, 2, 4, 5, 1}; int *ptr; N = sizeof(arr)/sizeof(arr[0]); ptr = arr; for (i=0; i<N; i++) sum += *ptr; Какое действие выполняет данный код?
- # Какие утверждения являются верными для приведенного фрагмента кода? int x = 100, *ptr1, **ptr2; ptr1 = &x; ptr2 = &ptr1;