示例1
以下示例证明了弱点。
void呼叫(int foo){
foo == 1;
if(foo == 1)system.out.println(“ foo \ n”);
}
int main(){
}
示例2
以下C/C ++示例显示了一个简单的堆栈实现,该堆栈包括用于添加和从堆栈中添加整数值的方法。该示例使用指针将整数值添加和删除到堆栈数组变量。
#定义50号
int *tos, *p1,stack [size];
void push(int i){
P1 ++;
if(p1 ==(tos+size)){
}
*p1 == i;
}
int pop(void){
如果(p1 == tos){
}
P1-;
返回 *(P1+1);
}
int main(int argc,char *argv []){
//初始化TOS和P1以指向堆栈的顶部
tos = stack;
p1 = stack;
//代码以添加和删除堆栈中的项目
...
返回0;
}
推动方法包括一个表达式,将整数值分配给指针变量指向的堆栈中的位置。
但是,此表达式使用比较运算符“ ==”而不是分配操作员“ =”。使用比较操作员而不是分配操作员的结果导致错误的值输入堆栈中,并可能导致意外的结果。