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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.05.2012, 08:47   #1
swooppy
Новичок
Джуниор
 
Регистрация: 23.04.2012
Сообщений: 1
По умолчанию Вопрос с передачей параметров в С

Совсем замучался. Решил делать не совсем так, как в методе и закопался. Вопрос вроде элементарный, но уже не знаю что попробовать чтобы заработало. Наверное взгляд замылился и не вижу чего-то очевидного. Надо построить стек. Пока только построить и распечатать для контроля. Просьба не особо критиковать алгоритм и количество передаваемых в функции параметров - потом поправлю. Не могу разобраться почему после возврата из push в main ничего не передается - headPnt и endPnt и все что внутри в дебаггере показывается как нули. Где какой амперсон забыл поставить ?

PHP код:
#include <stdio.h>
#include <stdlib.h>

struct Record
{
    
char symbol;
    
struct Record *pnext;
    
struct Record *pprev;
};

void push(struct Record *pheadstruct Record *plast);
void print(struct Record *pheadstruct Record *plast);


void main()

{
    
struct Record *headPnt NULL, *endPnt NULL;
    
char sym;
    
int i 0;
    do
    {
        
printf("\n1. Push\n"); // вывод меню
        
printf("2. Pop\n");
        
printf("3. Print\n");
        
printf("4. Convert stack to queue\n");
        
printf("0. Exit\n");
        
scanf("%d", &i);
        switch (
i// переключатель выбора действия
        
{
        case 
1push(headPntendPnt);
            break;
        case 
3: print(headPntendPnt);
            break;
        };
    }
    while (
!= 0);
    exit(
0); // завершение программы
}

void push(struct Record *pheadstruct Record *plast)
{
    
char sym;
    
printf("Input symbol : ");
    
getchar();
    
sym getchar();
    
struct Record *newRec = (struct Record*) malloc(sizeof (struct Record)); 
    if (
newRec != NULL)
    {
        
newRec->symbol sym;
        
newRec->pnext phead;
        if (
phead == NULLplast newRec;
        
phead newRec
    }
    else
        
printf("Memory allocation error !!!");
}


void print(struct Record *pheadstruct Record *plast)
{
    
struct Record *ptemp;
    
ptemp plast;

    while (
ptemp != NULL)
    {
        
printf("->%c"ptemp->symbol);
        
ptemp ptemp->pnext;
    }


Последний раз редактировалось swooppy; 09.05.2012 в 09:44.
swooppy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер. Лаба по процедурам с передачей параметров через стек Poprigun777 Помощь студентам 0 14.03.2011 19:13
Проблема с передачей( фтпуд17 Свободное общение 5 27.01.2011 11:23
проблема с передачей параметров Mira-girl Общие вопросы по Java, Java SE, Kotlin 2 22.11.2010 23:59
Проблема с передачей файла BleStaR C++ Builder 1 15.02.2010 20:37
Проблема с передачей куки arwm Работа с сетью в Delphi 7 28.12.2007 23:44