我在一个C程序中发现了这个表达式,但是我不理解它:
struct stack_rec *ss;
ss=(struct stack_rec *)EMalloc(sizeof(struct stack_rec));
if (ss) {
int res;
res = (ss->elem = * i , 1); // what does this mean ????
if (res <= 0)
return res;
if (*s == 0) {
ss->next = 0;
} else {
ss->next = *s;
}
*s = ss;
return 2;
}
return 0;
这句话的意思是什么?
res = (ss->elem = *i,1);
它是一个布尔表达式吗?我试过用0代替1,它总是返回第二个参数的值!请问有人能解释一下这个表达式吗?
res = ss->elem = *i;
,然后有人添加了,1)
作为一个快速而肮脏的修复方法,并且一直沿用至今。这有意义吗?我们不知道i
的类型是什么。 - Agent_L