Исправьте ошибки. Что будет напечатано? "C" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#define B Я полагал
#define X=1
main()
{
int xp, age;
char name[100];
printf(Определите, пожалуйста, свое имя. \n);
scanf(“%s”,&name);
printf(Очень хорошо, %s, Сколько вам лет ?\n, &name);
scanf(“%d”,&age);
xp = age + X;
printf(“%s Вам %d.\n”,B,xp);
}

Решение задачи: «Исправьте ошибки. Что будет напечатано? "C"»

textual
Листинг программы
#include <stdio.h>//Эта строчка не хватает
 
#define B Я полагал
#define X=1
 
int main(void)//функция main должна возвращать тип int, и принимать(не принимать) аргументы командной строки
              //Хотя и без них, скорее всего, скомпилируется
{
    int xp, age;//Переменным лучше задать начальные значения
    char name[100];
    
    printf(Определите, пожалуйста, свое имя. \n);//Текст должна быть внутри двух двойных ковычек("текст")
    scanf(“%s”,&name);//оператор взятие адреса лишнее, но можно и так
    
    printf(Очень хорошо, %s, Сколько вам лет ?\n, &name);//Тоже самое что и в предыдущем printf()
                                                         //оператор взятие адреса лишний 
    scanf(“%d”,&age);
    
    xp = age + X;
    printf(“%s Вам %d.\n”,B,xp);
    
    return 0;
}

Объяснение кода листинга программы

  1. В начале кода не хватает #include , который позволяет использовать функции ввода-вывода в программе.
  2. Определены две макро-переменные: B и X. Значение макроса B не определено, а значение X установлено равным 1.
  3. Функция main должна возвращать int (целое число), а не void (ничего). В данном случае, возвращаемое значение не используется, но это требование языка C.
  4. Переменная xp объявлена как int, но в дальнейшем используется как счетчик лет.
  5. Переменная age объявлена как int и используется для хранения возраста пользователя.
  6. Переменная name объявлена как char[100] и используется для хранения имени пользователя.
  7. Вывод сообщения Определите, пожалуйста, свое имя. осуществляется с помощью функции printf().
  8. Ввод имени пользователя осуществляется с помощью функции scanf().
  9. Вывод сообщения Очень хорошо, %s, Сколько вам лет ?\n осуществляется с помощью функции printf().
  10. Ввод возраста пользователя осуществляется с помощью функции scanf().
  11. Переменная xp инициализируется как сумма возраста пользователя (age) и значения макроса X, которое равно 1.
  12. Вывод сообщения %s Вам %d.\n осуществляется с помощью функции printf().
  13. Значение макроса B используется в качестве формата вывода сообщения.
  14. Значение переменной xp используется в качестве аргумента при выводе сообщения.
  15. Возвращаемое значение функции main установлено равным 0, что означает успешный конец работы программы.
  16. Отсутствуют операции или проверки на ошибки ввода данных.
  17. Отсутствуют операции или проверки на некорректное использование макросов.
  18. Отсутствуют операции или проверки на переполнение при вычислении значения переменной xp.
  19. Отсутствуют операции или проверки на выход за границы массива при вводе имени пользователя.
  20. Отсутствуют операции или проверки на некорректное использование функций scanf() и printf().

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы