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

Что означает pos ^= 1 в данном коде? - C++

Восстановить пароль Регистрация
 
Анастасия6369
1 / 1 / 0
Регистрация: 12.06.2012
Сообщений: 18
14.06.2012, 22:26     Что означает pos ^= 1 в данном коде? #1
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>
         
#define FILE_NAME "numbers.txt"                 
 
int main(void)
{
        int numbers[2], pos;
        FILE *f;
        
        if ( ( f = fopen(FILE_NAME, "r") ) == NULL )
        {   
                perror("fopen");
                //exit(1);
        }                           
        if ( fscanf(f, "%d %d", numbers, numbers + 1) != 2 )
        {
                perror("fscanf");
                if ( fclose(f) )
                        perror("fclose");
                exit(1);
        }
        printf("%d %d ", *numbers, *(numbers + 1));
        pos = 0;
        while ( fscanf(f, "%d", &numbers[pos]) == 1 )           и что означает эта строка??
                pos ^= 1;
        if ( ferror(f) )
        {               
                fprintf(stderr, "Can't read from file!\n");
                if ( fclose(f) )
                        perror("fclose");
                exit(1);
        } 
        fclose(f);          
        
        printf("%d ", numbers[pos]);
        pos ^= 1;
        printf("%d\n", numbers[pos]);
        getchar();
        getchar();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hrundel
25 / 25 / 2
Регистрация: 27.05.2012
Сообщений: 114
14.06.2012, 22:40     Что означает pos ^= 1 в данном коде? #2
Цитата Сообщение от Анастасия6369 Посмотреть сообщение
while ( fscanf(f, "%d", &numbers[pos]) == 1 ) и что означает эта строка??
делать до тех пор пока fscanf не вернет 1


Цитата Сообщение от Анастасия6369 Посмотреть сообщение
pos ^= 1;
pos = pos ^ 1; // XOR
Анастасия6369
1 / 1 / 0
Регистрация: 12.06.2012
Сообщений: 18
14.06.2012, 23:47  [ТС]     Что означает pos ^= 1 в данном коде? #3
не совсем поняла второе объяснение!что означает этот знак ^ непосредственно??
qfisher
30 / 30 / 1
Регистрация: 24.05.2012
Сообщений: 156
14.06.2012, 23:58     Что означает pos ^= 1 в данном коде? #4
Цитата Сообщение от Анастасия6369 Посмотреть сообщение
не совсем поняла второе объяснение!что означает этот знак ^ непосредственно??
исключающее или - то бишь XOR
Yandex
Объявления
14.06.2012, 23:58     Что означает pos ^= 1 в данном коде?
Ответ Создать тему
Опции темы

Текущее время: 12:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru