Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Требуется написать программу, которая будет копировать одну строку в другую с помощью указателей. Определите, выполняет ли приведенная программа поставленную задачу? Если не выполняет, объясните, почему? #include <stdio.h> #include <conio.h> i
Требуется написать программу, которая будет копировать одну строку в другую с помощью указателей. Определите, выполняет ли приведенная программа поставленную задачу? Если не выполняет, объясните, почему?
#include <stdio.h>
#include <conio.h>
int main()
{
char str1[10] = "", str2[10] = "";
char *ptr1, *ptr2;
printf("Введите строку: %s", str1);
scanf("%s", str1);
ptr1 = str1;
ptr2 = str2;
while (*ptr1!='\0') {
if (*ptr1=='\0') {
*ptr2 = '\0';
break;
}
*ptr2 = *ptr1;
ptr1++;
}
printf("str2 = %s\n", str2);
return 0;
}
вопрос
Правильный ответ:
программа выполняет поставленную задачу
программа не выполняет поставленную задачу, так как в цикле не происходит изменение указателя
ptr2
программа не выполяет поставленную задачу, так как неверно задано условие цикла
Сложность вопроса
47
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
спасибо за пятёрку
18 янв 2017
Аноним
Я завалил экзамен, за что я не углядел данный сайт с ответами по тестам интуит прежде
04 янв 2016
Другие ответы на вопросы из темы программирование интуит.
- # Какие переменные являются формальными параметрами функции sq()? int sq(int a, int x) { int i, res = 1; for (i=0; i<x; i++) res*= a; return res; } int main(void) { int n=4, b = 3, p; p = sq(n,b); printf("%d^%d = %d\n", n, b, p); return 0; }
- # Что произойдет при выполнении приведенной программы, если пользователь задаст номер алгоритма 9? void PuzSortInc (int*, int ); void PuzSortDec (int*, int); int main (void) { int A[] = {56, 34, 2, 0, 1, -21, 6, 8, 7}; int i, n, alg; void (*pFun) (int*, int) = NULL; n = sizeof(A)/sizeof(A[0]); printf("Исходный массив: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); printf("\nВыберите алгоритм сортировки (1 - \"методом пузырька\" по возрастанию,\ 2 - \"методом пузырька\" по убыванию: "); scanf("%d", &alg); switch (alg) { case 1: pFun = PuzSortInc; break; case 2: pFun = PuzSortDec; break; default: printf("ERROR! Такого алгоритма не определено!"); } pFun(A,n); printf("\nОтсортированный массив: "); for (i = 0; i < n; i++) printf(" %3d", A[i]); return 0; } void PuzSortInc (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] > arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } } void PuzSortDec (int* arr, int size) { int i, j, buf; for (i = 0; i < size - 1; i++ ) { for (j = 0; j < size - 1; j++) { if (arr[j] < arr[j + 1]) { buf = arr[j]; arr[j] = arr[j+1]; arr[j+1] = buf; } } } }
- # Задана программа, позволяющая пользователю задать данные о студенте с клавиатуры: typedef struct { char fio[30]; int group; float average; } student; void Init(student*); int main(void) { student s, *st; int i; st = &s; Init(st); <Вывод данных на экран> return 0; } void Init(student *st) { printf("\nEnter name: "); scanf("%s", st->fio); printf("\nEnter group: "); scanf("%d", &st->group); printf("\nEnter average mark: "); scanf("%f", &st->average); } Необходимо дополнить программу функцией вывода заданных о студенте данных на экран и вызовом этой функции в программе. Какой вариант описания и вызова функции не выполняет поставленную задачу?
- # В результате выполнения какого фрагмента кода значение переменной y будет равно 11?
- # Какая программа реализует сортировку массива целых чисел по убыванию методом прямого выбора?