PDA

View Full Version : سوال: مشکل این صف دایره ای چی هست ؟



franchesco
چهارشنبه 24 شهریور 1389, 19:52 عصر
این یک برنامه است که یک سری ورودی که به صورت کاراکتر هستند داخل یک صف دایره ای قرار میدهد .
در قرار دادن در صف مشکلی وجود نداره ! اما کسی میتونه بگه چرا این برنامه ارور داره ؟ ارور رو برای خط قرمز میگیره !






char queue[10];
int front = 0,rear = 0;
char * value;

void insbuf(char queue[], int *rear, int front, char value)
{

queue[*rear] = value;
}

char delbuf(char queue[], int *front, int rear)
{
*front = (*front + 1) % 10;
*value = queue[*front];
return * value;
}

void main()
{


char *buffer;
buffer=delbuf(queue,rear,&front);


}

اوبالیت به بو
چهارشنبه 24 شهریور 1389, 20:40 عصر
سلام

اينجارو:


char delbuf(char queue[], int *front, int rear)

حالا:

buffer=delbuf(queue,rear,&front);
داريد به يه آرگومان ساده اشاره گر مي فرستيد.

franchesco
چهارشنبه 24 شهریور 1389, 21:26 عصر
سلام

اينجارو:


char delbuf(char queue[], int *front, int rear)

حالا:

buffer=delbuf(queue,rear,&front);
داريد به يه آرگومان ساده اشاره گر مي فرستيد.

اینو درست کردم ولی بازم ارور میره !!!!!

implicit cast of integral value to pointer

اوبالیت به بو
چهارشنبه 24 شهریور 1389, 22:03 عصر
سلام
يه اشتباه ديگه هم انجام داري مي دي تو ارسال پارامتر به آرگومان ها:

داري front رو ميدي به rear و rear رو ميدي به front. حواست باشه اين يه تيكه رو.

يه اشتباه ديگه، تو آرگومانت نوشتي:

char delbuf(char queue[], int *front, int rear)و داري يه متغير ارسال مي كني كه اشاره گر نيست:

buffer=delbuf(queue,rear,&front);تازه جابه جا هم نوشتي

franchesco
چهارشنبه 24 شهریور 1389, 22:52 عصر
دوست عزیز با وجود درست کردن اون هم اون ارور رو میده !!!!

اوبالیت به بو
چهارشنبه 24 شهریور 1389, 23:15 عصر
دوست عزیز با وجود درست کردن اون هم اون ارور رو میده !!!!
داداش
اين مگه متغير غير اشاره گر نيست؟ پس چرا مثل اشاره گر ها نوشتي:


char queue[10]; int front = 0,rear = 0; char * value;
.
.
.
*front = (*front + 1) % 10;
بعد در آخر اين:

*value = queue[*front];