Что это делает? [Дубликат]
Possible Duplicate:
The ternary (conditional) operator in C
Это пример кода из моей помощи учителя. Я понятия не имею, чтоtotal = total*2+ (n=='1'? 1:0);
делает. Я думаю, что это умножить сумму на 2, но что с вопросительным знаком и1:0
соотношение?
int bcvt(FILE *infile){
char n;
int i, total=0;
for(i=0; i<32; i++){
fscanf(infile, "%c", &n);
total = total*2+ (n=='1'? 1:0);
}
char dummy;
fscanf(infile, "%c", &dummy);
return total;
}