Error C2065 необъявленный идентификатор - C (СИ) (150964)

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

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

Компилятор пишет что i,pos; cc; -------error C2065 необъявленный идентификатор Хотя все обозначил.
Листинг программы
  1. char* insert_char(char *str)
  2. {
  3. int i,pos;
  4. char cc;
  5. str = realloc(str,strlen(str)+1);
  6. if (str==NULL){
  7. printf("No Memory");
  8. return NULL;}
  9. printf("The Original String is :\n");
  10. present(str);
  11. _flushall(cc);
  12. printf("Please enter a char pos [0 , %d]: \n",strlen(str));
  13. scanf("%1c %d",&cc, &pos);
  14. if( pos < 0 || pos > strlen(str)){
  15. printf("An illigal location\n");
  16. return 0;}
  17. else{
  18. for( i=strlen(str)+1; i > pos; --i )
  19. str[i]=str[i-1];
  20. str[i]=cc;
  21. printf("The New String is :\n");
  22. present(str);
  23. return str;
  24. }
  25. }

Решение задачи: «Error C2065 необъявленный идентификатор»

textual
Листинг программы
  1. for( i=strlen(str)+1; i > pos; --i )
  2. * * * * str[i]=str[i-1];

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

В данном коде выполняется копирование строки, при этом в цикле происходит перестановка символов в строке.

  1. В первой строке объявляется переменная i типа int, которая инициализируется значением strlen(str)+1. Здесь str — это указатель на строку, а strlen(str) — это функция, которая возвращает длину строки. То есть, i становится большим значением, равным длине строки плюс один.
  2. Вторая строка содержит условие для цикла while: i > pos. Здесь pos — это также значение типа int, но оно инициализируется значением 0. То есть, цикл будет выполняться до тех пор, пока значение i больше значения pos.
  3. Третья строка содержит оператор --i, который уменьшает значение i на единицу после каждой итерации цикла.
  4. В цикле выполняется операция str[i]=str[i-1], которая переставляет символы в строке. Здесь str — это указатель на строку, а i и i-1 — это индексы символов в этой строке. Таким образом, в результате выполнения данного кода, строка будет копирована, при этом последний символ исходной строки останется неизменным.

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


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

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

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы