Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
#1

Работа со строками - разобрать код - C++

27.12.2010, 20:20. Просмотров 350. Ответов 4
Метки нет (Все метки)

разбираю сейчас работу со строками и попался такой код программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <string.h>
 
int main()
{
    char s[80], passw[]="kuku";
    int i, k=0;
    for (i=0; !k && i<3; i++)
    {
        printf ("\nvvedite password:\n");
        gets(s);
        if(strstr(s,passw)) k=1;
    }
    if(k) printf("\npassword prinyat");
    else printf ("\npassword neverniy");
    return 0;
}
Непонятно несколько вещей:
-строка if(strstr(s,passw)) k=1; для чего мы k приравниваем ко 1-му
-if(k) printf("\npassword prinyat"); что мы проверяем данным условием?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 20:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со строками - разобрать код (C++):

Работа со строками - прокомментировать код - C++
На просторах интернета нарыл данную прогу : #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; ...

Разобрать код - C++
Помогите разобраться с кодом!Можите рассписать где что находится пожалуйста! #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include...

Разобрать код - C++
Всем привет помогите разобрать код, программа создана для подсчета что вот это вот означает? double s = 1.0 / 6.0, e, t = 1.0 /...

Разобрать код с++ - C++
Всем доброго времени суток. Дело такое нужно разобрать код явных ошибок нету но при компиляции вижуалка вылетает с ошибкой вроде в хидере...

Разобрать код - C++
Помогите пожулйста розобрать код програми struct node { int item; node* next; { item = x; next = t; } }; typadef node *link; ...

Разобрать код на с++ - C++
Всем доброго времени суток. Не подскажите в чём у меня ошибка. В общем задание такое я должен создать в готовой программе класс и в нём...

4
BrumbleHorse
121 / 121 / 11
Регистрация: 18.09.2010
Сообщений: 212
27.12.2010, 20:33 #2
Цитата Сообщение от fygaska Посмотреть сообщение
Непонятно несколько вещей:
-строка if(strstr(s,passw)) k=1; для чего мы k приравниваем ко 1-му
-if(k) printf("\npassword prinyat"); что мы проверяем данным условием?
k приравнивается к 1, когда пароль верный, иначе k=0
C
1
if(k)
это значит "если k не равно нулю (то есть истинно)",тогда печатаем "пароль принят", в противном случае печатаем "неверный пароль"
0
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
27.12.2010, 22:36  [ТС] #3
Хорошо!
тогда это условие выхода из цикла будет выполнено, если k ложно: for (i=0; !k && i<3; i++)
но тогда этому противоречить условие в самом цикле: if(strstr(s,passw)) k=1; Здесь k присваиватся истинность. А условие выхода из цикла у нас "ложь". Как, объясните пожалуйста!!!
0
BrumbleHorse
121 / 121 / 11
Регистрация: 18.09.2010
Сообщений: 212
27.12.2010, 23:15 #4
Цитата Сообщение от fygaska Посмотреть сообщение
тогда это условие выхода из цикла будет выполнено, если k ложно: for (i=0; !k && i<3; i++)
Не совсем верно.. условие продолжения цикла - это "k=0 И i<3" ..то есть цикл прервется либо когда k перестанет быть нулем (что и происходит при правильном вводе пароля), либо когда i станет больше 3...почитайте про логические операции...
1
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
28.12.2010, 00:41  [ТС] #5
про них то я знаю! Просто забыл про условие в цикле!!! Я думал что выражение(второе условие) в for - условие для останоки итерации, а это ведь условие для продолжения!
Спасибо!!!
0
28.12.2010, 00:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 00:41
Привет! Вот еще темы с ответами:

Разобрать код по алгоритму - C++
Тексты надо переписывать в сообщение! сделали контрольную и защитить не не могу. помогите разобрать что значит код, пожалуйста. ...

Список (разобрать код) - C++
Помогите пожалуйста разобрать код. #include &lt;list&gt; #include &lt;iterator&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include...

Разобрать код рисования - C++
Помогите разобрать код до функции рисования,дальше вроде все понятно #include &lt;cstdlib&gt; #include &lt;ctime&gt; #include &lt;iostream&gt; ...

Разобрать рекурсивный код - C++
Добрый день, возникло недопонимание с нижеследующей конструкцией (я рекурсии и так не очень понимал, а теперь начинаю и недолюбливать)....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru