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

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

Войти
Регистрация
Восстановить пароль
 
script kiddie
#1

адреса - C++

03.06.2009, 23:02. Просмотров 681. Ответов 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++):

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

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

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

смещения адреса - C++
как в с++ указывать смещение адреса? адрес к примеру 0х1234567 и его смещения +70 +4ac

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

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

5
Delphin_KKC
UNIX-way
710 / 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
0
accept
4825 / 3246 / 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
    );
0
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".
0
Gravity
564 / 558 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
04.06.2009, 17:05 #5
Достаточно явного преобразования к unsigned int.
0
accept
4825 / 3246 / 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'ам а иметь одну концовку для всех, стоящую отдельно)
0
05.06.2009, 09:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2009, 09:22
Привет! Вот еще темы с ответами:

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

IP-адреса подсетей - C++
Не подскажите как реализовать по ёмкости маленькую программу которая будет определять по заданному классу (А, В или С), количеству подсетей...

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

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


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

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

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