(2005-01-01 18:55:17) 647-地三鲜struct{
int val;
}pcb;
struct{
pcb num[4];
int head,tail;
}queue;
queue l;
对 l.num[l.head].val=45进行一次自加,一次自减。
结果发现程序只在45的基础上加减。就是说自加后是46。再自减后却变为44,而不是45。这怎么办呀?
int val;
}pcb;
struct{
pcb num[4];
int head,tail;
}queue;
queue l;
对 l.num[l.head].val=45进行一次自加,一次自减。
结果发现程序只在45的基础上加减。就是说自加后是46。再自减后却变为44,而不是45。这怎么办呀?
Show me your code
int val;
}pcb;
struct{
pcb num[4];
int head,tail;
}queue;
queue l;通过edit文本框把数值传递给l.num[l.head].val , 比如是45。然后,进行操作l.num[l.head].val++;
在进行操作l.num[l.head].val--;结果应该还是45。
可是结果却是44。
难道l.num[l.head].val 是静态变量的原应??????
using namespace std;
typedef struct
{
int val;
}pcb;
typedef struct
{
pcb num[4];
int head,tail;
}queue;
queue a;
void main()
{
a.num[a.head].val=45;
cout<<a.num[a.head].val<<endl;
a.num[a.head].val++;
cout<<a.num[a.head].val<<endl;
a.num[a.head].val--;
cout<<a.num[a.head].val<<endl;
}
输出
45
46
45