Форум программистов, компьютерный форум CyberForum.ru

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

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

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

27.12.2010, 20:20. Просмотров 340. Ответов 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"); что мы проверяем данным условием?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2010, 20:20     Работа со строками - разобрать код
Посмотрите здесь:

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

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

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

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

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

Разобрать код работы с классами - C++
#include &lt;iostream&gt; using namespace std; class student{ char name; int nzk; public: void get_name() {for(int i=0; i&lt;3;...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BrumbleHorse
120 / 120 / 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 не равно нулю (то есть истинно)",тогда печатаем "пароль принят", в противном случае печатаем "неверный пароль"
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 присваиватся истинность. А условие выхода из цикла у нас "ложь". Как, объясните пожалуйста!!!
BrumbleHorse
120 / 120 / 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...почитайте про логические операции...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2010, 00:41     Работа со строками - разобрать код
Еще ссылки по теме:

Запись в ofstream - разобрать код - C++
Доброго времени суток объясните как это работает? char msg; //что то записали в msg не важно как, суть в том что туда писали без...

Пузырьковая сортировка, разобрать код - C++
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include &lt;time.h&gt; #include &lt;iostream&gt; void main() { setlocale...

Помогите разобрать чужой код - C++
нам дали задание понять, что собственно написано в коде. Может кто подскажет как легче читать чужой код. Вот тот самый кусок кода,...

Не могу разобрать код структуры - C++
struct point { int x, y; point(int xx = 0, int yy = 0) : x(xx), y(yy) {}; // &lt;-что это? }; Есть вот такой код. Не могу...


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

Или воспользуйтесь поиском по форуму:
fygaska
4 / 4 / 1
Регистрация: 18.10.2010
Сообщений: 27
28.12.2010, 00:41  [ТС]     Работа со строками - разобрать код #5
про них то я знаю! Просто забыл про условие в цикле!!! Я думал что выражение(второе условие) в for - условие для останоки итерации, а это ведь условие для продолжения!
Спасибо!!!
Yandex
Объявления
28.12.2010, 00:41     Работа со строками - разобрать код
Ответ Создать тему
Опции темы

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