Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2023, 16:58   #1
ruivit
Пользователь
 
Регистрация: 14.09.2022
Сообщений: 24
По умолчанию Помогите разобрать результат работы программы

В общим мне дали тут задание, нужно решить вопрос какой результат выдаст программа. Там какое число должно получится. Вот код программы

Код:
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define  CRT_SECURE_NO_WARNINGS
#include <iostream>
//using namespace std;

void f(int* p)

{
	 int *r = ((p + 1) + p[0]);
	std :: cout << r;

}

int main()

{
	int A[6] = { 1, 2, 3, 4, 5, 6 };
	int* p = A + 2;
	int* q = p + 2;
	f(q);
	return (0);

}
программа выдаёт следующий результат 0x78fe18. Я как понимаю это адрес памяти, только вот понять не могу при чём тут число целое надо получить.
ruivit вне форума Ответить с цитированием
Старый 02.03.2023, 17:00   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от ruivit Посмотреть сообщение
Я как понимаю это адрес памяти, только вот понять не могу при чём тут
Код:
 int *r
Код:
std :: cout << r;
p51x вне форума Ответить с цитированием
Старый 02.03.2023, 17:07   #3
ruivit
Пользователь
 
Регистрация: 14.09.2022
Сообщений: 24
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
 int *r
Код:
std :: cout << r;
А ну понятно в чём беда только опять непонятная цифера вышла 7929336
ruivit вне форума Ответить с цитированием
Старый 02.03.2023, 17:23   #4
ruivit
Пользователь
 
Регистрация: 14.09.2022
Сообщений: 24
По умолчанию

Код:
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
#define  CRT_SECURE_NO_WARNINGS
#include <iostream>
//using namespace std;

void f(int* p)

{

	 int *r = ((p + 1) + p[0]);
	
	std :: cout <<  *r << std :: endl;

}

int main()

{

	int A[6] = { 1, 2, 3, 4, 5, 6 };
	int* p = A + 2;
	int* q = p + 2;	
	f(q);
return (0);

}
ruivit вне форума Ответить с цитированием
Старый 06.03.2023, 07:54   #5
ruivit
Пользователь
 
Регистрация: 14.09.2022
Сообщений: 24
По умолчанию

Код:
#include <stdio.h>


/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std;

void f(int* p)

{

	
	printf("%d\n", *(p+1) + p[1]);



}

int main()

{

	int A[6] = {6,5,4,3,2,1 };
	int* p = A + 1;
	int* q = p + 2;	
	f(q);
return (0);

}
ruivit вне форума Ответить с цитированием
Старый 07.03.2023, 04:51   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от ruivit Посмотреть сообщение
это адрес памяти, только вот понять не могу при чём тут число целое надо получить.
Задачка на адресную арифметику. Если выводить адрес, то сказать точно его нельзя, т.к. зависит от компилятора и окружения. Можно сказать относительный адрес: A + 0x28 (для первого кода). А брать значение для первого кода плохая идея, т.к. получился выход за границы массива A.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в поиске суммы бесконечного ряда. при x=1,eps=0,001 выдаёт правильный результат. Но если x=2 и т.д., то результат получается другой Алехий Помощь студентам 1 08.07.2018 17:17
Результат работы программы С-nan. Что это? Владими_Р Помощь студентам 1 24.06.2016 12:10
Помогите с дописанием программы для лабораторной работы. Annie Square Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 01.01.2016 20:39
не читает результат работы консольной программы Consol Работа с сетью в Delphi 0 21.08.2009 12:21