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

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

Войти
Регистрация
Восстановить пароль
 
script kiddie
Сообщений: n/a
#1

адреса - C++

03.06.2009, 23:02. Просмотров 666. Ответов 5
Метки нет (Все метки)

привет всем
есть программа 1 /* контроль адресов */
2 #include <stdio.h>
3 main( )
4 { int pooh = 2, bah = 5;
5 printf(" В main( ), pooh = %d и &pooh = %u \n" , pooh, &pooh);
6 printf("B main( ), bah = %d и &bah = %u\n", bah, &bah);
7 }
программа проста как дверь ,но компилятор выдает такое
finsh.c: В функции ‘main’:
finsh.c:5: предупреждение: формат ‘%u’ предполагает тип ‘unsigned int’, но аргумент 3 имеет тип ‘int *’
finsh.c:6: предупреждение: формат ‘%u’ предполагает тип ‘unsigned int’, но аргумент 3 имеет тип ‘int *’

пожлуйста обьясните что это за тип или хотя бы ткните в какую сторону искать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 23:02     адреса
Посмотрите здесь:

Почему при присваивании адреса массива не ставится знак '&' получения адреса - C++
int main() { int a = { 2, 3 }; int* b; b = a; //Почему при присваивании адреса массива не ставится знак '&amp;' получения адреса. ...

адреса - C++
здравствуйте! нужно &quot;Вывести на экран 25 случайных чисел, находящихся в диапазоне от –100 до 100. Затем найти и вывести на экран номера...

IP адреса. - C++
Ребят всем привет.Требуется прочитать из реестра i все ip адреса компьютера. С этим проблем нет,но в разделе services лежит 5 ключей и в...

указатели и адреса. - C++
Пользователь вводит с клавиатуры строку – предложение с пробелами и знаками пунктуации длиной до 100 символов. Вывести на экран адреса...

Получение IP адреса (Си) - C++
Есть ли функция или библиотека для С для определения своего реального интернет IP адреса? Или может есть сервис?

смена IP-адреса - C++
день добрый. не подскажите как программно заставить венду сменить IP ?

Адреса и указатели - C++
Приветствую! Не могу понять, как работать с указателями и адресами для переменных. Если можно, как можно проще объясните, коль не сложно....

Получение адреса - C++
Есть следующая строка: long int array; Что означает, если мы напишем следующее: (char*)Arr; Мы получим начало адреса...

Адреса переменных - C++
У меня возник вопрос, можно ли записать в бинарный файл адрес переменной? Если да, то как? И можно ли будет другой программой считать этот...

Ссылки и адреса - C++
Вот, где лучше всего использовать адреса и ссылки? Просто не много не понятня для чего это все. Вот например эту запись int mas; int*...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
03.06.2009, 23:10     адреса #2
unsigned int - беззнаковый тип. Значения от 0 до 2^32-1
int - знаковый тип. Значения от -2^31 до 2^31-1
Компилятор ругается изза того, что при взаимном их преобразовании могут быть результаты не совсем те, которые ожидаешь (например вместо -1 будет примерно 2^31)
Вместо %u используй %i
копать в сторону изучения всех аргументов ф-ций printf/scanf
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.06.2009, 08:54     адреса #3
попробуй разделять строки
C
1
2
3
4
5
6
7
8
9
    printf(
        " В main( ), "
        "pooh = %d"
        " и "
        "&pooh = %u"
        " \n",
        pooh,
        (unsigned int) &pooh
    );
Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
04.06.2009, 15:46     адреса #4
Цитата Сообщение от accept Посмотреть сообщение
попробуй разделять строки
C
1
2
3
4
5
6
7
8
9
    printf(
        " В main( ), "
        "pooh = %d"
        " и "
        "&pooh = %u"
        " \n",
        pooh,
        (unsigned int) &pooh
    );
А что это даёт, программа точно так же выдаст всё на одной строке, а переход на другую строку будет только после "\n".
Gravity
562 / 556 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.06.2009, 17:05     адреса #5
Достаточно явного преобразования к unsigned int.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.06.2009, 09:22     адреса #6
Цитата Сообщение от nynicue
А что это даёт, программа точно так же выдаст всё на одной строке
это даёт возможность записывать очень длинные тексты в компактной форме (у него как раз строка начала расти)

и ещё неявная возможность
C
1
2
3
4
5
6
7
8
9
    printf(
        " В main( ), "
        "pooh = %d"
        " и "
        "&pooh = %u"
        " \n",
        pooh,
        (unsigned int) &pooh
    );
можно привести

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    const char *h = " В main( ), ",
               *p = "pooh = %d";
    const char *endl = "\r\n";
    ...
 
    printf(
        "%s"
        "%s"
        " и "
        "&pooh = %u"
        " "
        "%s",
        h,
        p,
        pooh,
        (unsigned int) &pooh,
        endl
    );
когда строка в ряд, её надо читать, чтобы поделить на составные части, а когда она уже поделена, это сразу видно, где там что, где заголовок, где конец (иногда нужно \n заменить на \r\n, можно не лазить по всем fprintf'ам а иметь одну концовку для всех, стоящую отдельно)
Yandex
Объявления
05.06.2009, 09:22     адреса
Ответ Создать тему
Опции темы

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