Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2011, 11:33   #1
sasha14486
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 23
По умолчанию принцип работы программы

Дана строка, состоящая из слов, разделенных пробелами. Определить количество слов, содержащих хотя бы одну букву 'a'.


Код:
#include<stdio.h>
#include<conio.h>
int main(){

  char a[80];
  int i,k;
  clrscr();
  printf("Вводим строку:\n") ;
  gets (a);
  k=0;
  i=0;//начало из a[0]
  for(i=0; a[i];i++){ // идем по массиву
    if(a[i]=='a'){ // выполняем внутри if
      k++;
  for(a[i]='a';a[i]  != ' '; ++i); // доходим до пробела
    if(!a[i])
    break;
   }
    }
    puts("Количество букв а:");
    printf("%d",k);
  getch();
 return 0;
}
Программа рабочая, но я не как не могу понять принцип работы этого кусочка кода

Код:
    if(!a[i])
    break;
и зачем после for(...);
Если ; не поставить то тогда нада написать вот так
for(a[i]='a';a[i] && a[i] != ' '; ++i);
sasha14486 вне форума Ответить с цитированием
Старый 22.05.2011, 12:36   #2
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от sasha14486 Посмотреть сообщение
я не как не могу понять принцип работы этого кусочка кода

Код:
    if(!a[i])
    break;
Строка if(!a[i]) эквивалентна следующей:
if (a[i] == 0)
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Принцип работы функции GetAsyncKeyState wwe2012 Общие вопросы C/C++ 0 10.04.2011 09:15
Принцип работы WH_KEYBOARD_LL wwe2012 Общие вопросы C/C++ 5 01.04.2011 15:46
Принцип работы NS-серверов Ivan_32 Свободное общение 1 31.10.2010 03:38
Каков принцип работы с указателями??? Tanusha_221 Помощь студентам 0 28.05.2010 16:12
Объсните принцип работы программы Ge0rGE Помощь студентам 1 10.06.2009 21:50