2 / 2 / 0
Регистрация: 10.12.2016
Сообщений: 50
1

Указатели и printf

18.11.2018, 19:30. Показов 508. Ответов 5
Метки нет (Все метки)

Здравствуйте. Простой вопрос, почему y и func(p_x, p_y) выводит одинаковое значение?
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
#define _CRT_SECURE_NO_WARNINGS
#include <Windows.h>
#include <stdio.h>
#include <math.h>
 
int func(int *p_x, int *p_y) {
 
    return *p_y = *p_x + *p_y;
}
int main()
{
    SetConsoleCP(1251);  
    SetConsoleOutputCP(1251);
 
    int x, y;
 
    int *p_x = &x;
    int *p_y = &y;
 
    printf("Введите значение первой переменной: "); scanf("%d", &x);
    printf("Введите значение второй переменной: "); scanf("%d", &y);
 
    printf("Значение первой переменной: %d, второй %d, второй после замены %d", x, y, func(p_x, p_y));
        
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2018, 19:30
Ответы с готовыми решениями:

Ошибка - Warning: printf() [function.printf]: Too few arguments
привет всем. создал форму вывода данных из таблицы: &lt;?php $result3 = mysql_query(&quot;select img,...

Не могу понять как исправить ошибку Warning: printf() [function.printf]: Too few arguments in Z:\home\ksards.ru\www\id\1.php on line 76
Помогите связать бд с сайтом я новичок в этом вот код php &lt;?php do { printf(&quot;&lt;div...

Warning: printf() [function.printf]: Too few arguments
Не Могу вывести цикл из базы дает такие ошибки Warning: printf() : Too few arguments in...

Ошьібка Warning: printf() [function.printf]
Вьідает ошьібку Warning: printf() : Too few arguments in /home/u500421749/public_html/index.php on...

5
322 / 301 / 173
Регистрация: 16.11.2010
Сообщений: 1,069
Записей в блоге: 9
18.11.2018, 19:38 2
Цитата Сообщение от TM1596 Посмотреть сообщение
Простой вопрос, почему y и func(p_x, p_y) выводит одинаковое значение?
Ну так p_y - это указатель на y. Поэтому когда вы меняете значение по адресу p_y - *p_y = *p_x + *p_y; - вы меняете и значение самой y
1
2 / 2 / 0
Регистрация: 10.12.2016
Сообщений: 50
18.11.2018, 19:58  [ТС] 3
Но я же сначала вывожу 'y', а только потом меняю значение
0
543 / 221 / 71
Регистрация: 01.03.2011
Сообщений: 602
18.11.2018, 20:06 4
Не, сначала вычисляется func(), а уже потом вызывается printf();
1
2 / 2 / 0
Регистрация: 10.12.2016
Сообщений: 50
18.11.2018, 20:08  [ТС] 5
А почему такой приоритет?
0
33 / 20 / 13
Регистрация: 08.06.2011
Сообщений: 39
18.11.2018, 20:21 6
Потому что на момент выполнения функции уже должны быть высчитаны все ее аргументы. Замените
C
1
printf("Значение первой переменной: %d, второй %d, второй после замены %d", x, y, func(p_x, p_y));
на
C
1
2
    printf("Значение первой переменной: %d, второй %d,", x, y);
    printf("второй после замены %d", func(p_x, p_y));
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2018, 20:21

Чем ::printf предпочтительнее printf?
Смотрю на код одного толкового программиста и, как новичек в С++, удивляюсь: какой смысл писать в...

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно....

Почему Лафоре использует указатели на указатели, вместо обмена значениями указателей?
Доброго времени суток! Задался теоретическим вопросом. Читал пример из книги Лафоре...

Через указатели на указатели посчитать сумму двух чисел и записать в третье
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье. 2. Написать...


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

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

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