Замена букв в строке на заглавные - C (СИ) (149676)

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

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

Помогите пожалуйста разобраться. написать программу, которая по введённой строке создаёт новую и заменяет все символы на символы в верхнем регистре, а для следующих символовделает такую замену: • 'a', 'A' → '4' • 'b', 'B' → '8' • 'e', 'E' → '3' • 'i', 'I' → '1' • 'o', 'O' → '0' • 's', 'S' → '5' Для замены использовать таблицы. Пример: This stuff really works TH15 5TUFF R34LLY W0RK5. код:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
 
const char* TABLE[] = { "ABEIOS", "483105" };
 
int main(void) {
    char *a;
    char str[1000], *ptr;
    printf("%s\n", "Введите строку:");

     for ( ptr = str; ptr; ++ptr ) {
        *ptr = toupper(*ptr);
     if ( a = strchr(TABLE[0], *ptr));
       *ptr = (TABLE[1][a - TABLE[0]]);
    }
    
    printf("%s\n", str);
    
}
при компиляции выдает
2.c: In function ‘main’:
2.c:15:6: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
      if ( a = strchr(TABLE[0], *ptr));
      ^
как исправить ?

Решение задачи: «Замена букв в строке на заглавные»

textual
Листинг программы
if ( ( a = strchr(TABLE[0], *ptr) ) != NULL )

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

  1. В данном коде используется функция strchr, которая ищет первое вхождение символа в строке.
  2. Переменная a используется для хранения указателя на найденный символ.
  3. Если функция strchr вернула не NULL (то есть нашла символ), то значение переменной a будет равно NULL плюс указатель на найденный символ.
  4. Значение переменной ptr используется как аргумент для функции strchr.
  5. Переменная TABLE[0] представляет собой строку, в которой происходит поиск.
  6. Если символ, на который указывает ptr, найден в строке TABLE[0], то переменная a будет содержать указатель на этот символ.
  7. Если символ не найден, то переменная a будет равна NULL.

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


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

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

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