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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2016, 15:09   #1
mrprim
Пользователь
 
Регистрация: 07.06.2016
Сообщений: 52
По умолчанию Стек

Доброго времени суток
Возникла проблема с методом PUSH цикл работает не так как я хотел и не могу понять как исправить
Код:

#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "stdint.h"

#define PUSH 0x06
#define LENGHT 5
uint32_t stack[LENGHT];
uint32_t vm_programm_code[LENGHT] = {PUSH, 5, PUSH, 10, ADD};
uint32_t sp=0; // вкршина
uint32_t i;

void push(void){
	if(sp >= LENGHT){
		printf("polon\n");
		return;
	}
	for ( i = 0; i < 5; i++ ) {
	if(vm_programm_code[i]=PUSH){
			stack[sp]=vm_programm_code[i+1];
				sp++;
	}
	else return;
	}
}
void vm(void){

push();

}
int main()
{
    vm();
    printf("вершина - %d\n", stack[sp-1]);
    printf("%d\n%d\n%d\n%d\n%d\n", stack[0], stack[1],stack[2],stack[3],stack[4]);
    getchar();
}

по факту он должен пробежать по нашему массиву vm_programm_code[] и выдать на 5 10 0 0 0 но он находит первый элемент и сваливает 5 0 0 0 0
mrprim вне форума Ответить с цитированием
Старый 07.06.2016, 15:53   #2
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Код:
if(vm_programm_code[i]=PUSH){
Вероятно здесь нужен оператор сравнения, а не присваивания.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стек и очередь. Задачи никогда не попадают в стек - Delphi Exxodus Помощь студентам 1 05.04.2016 14:12
Стек в С++ Arrioh Помощь студентам 4 25.04.2012 13:00
Стек MarsikSA Помощь студентам 1 23.04.2012 14:44
Стек SOKOLDANGER Общие вопросы C/C++ 6 03.10.2010 18:59
Стек в С++ skiffter Помощь студентам 3 26.03.2010 09:57