Поиск ошибки - C (СИ)

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

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

Здравствуйте, могли бы мне помочь найти что не так с этим кодом, не компилируется?
#include <stdio.h>
#include <conio.h>

void PrintName(string name);
 
 int main(void)
{
 string s; 
 scanf ("%s", &s);
 PrintName(s);
 getch ();    
} 
 
void PrintName(string name)
  {
   printf("Привет %s", name);        
  }
Странно, я нашёл в чём причина: программа dev-c++ не принимает значение string, поэтому заменил на char. Кто-нибудь может объяснить в чём дело?

Решение задачи: «Поиск ошибки»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
char* GetString();
void PrintName(char* name);
 
int main(void)
{
    char s[100];
    strcpy(s,GetString());
    PrintName(s);
    getch();
}
 
char* GetString()
{
    char x[100];
    scanf("%100s", &x);
    return x;
}
void PrintName(char* name)
{
    printf("Hello, %s", name);
}

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

  1. Объявлены две функции: GetString() и PrintName(char* name).
  2. В функции main(void) объявлена переменная s типа char с длиной в 100 символов.
  3. В функции main(void) вызывается функция GetString(), и результат копируется в переменную s с помощью функции strcpy().
  4. В функции main(void) вызывается функция PrintName(char* name), передавая в нее переменную s в качестве аргумента.
  5. В функции GetString() объявлена переменная x типа char с длиной в 100 символов.
  6. В функции GetString() вызывается функция scanf(), которая считывает строку символов в переменную x.
  7. В функции GetString() возвращается значение переменной x.
  8. В функции PrintName(char* name) выводится приветствие Hello, и передаваемое имя.
  9. В конце программы вызывается функция getch(), которая приостанавливает выполнение программы до нажатия клавиши.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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