So if type like,
nSubsidy >>= (nHeight / 5,112,000);
then 5,112,000 become to what number for computer?
I suggest you take a look at the
Comma operator page on Wikipedia, as it will explain it better than me:
In the C and C++ programming languages, the comma operator (represented by the token ,) is a binary operator that evaluates its first operand and discards the result, and then evaluates the second operand and returns this value (and type).Your code will then only do the following:
(The first & the 2nd statement are discarded)
You can try it out by yourself:
$ cat a.c && gcc -Wall -o a a.c && ./a
#include <stdio.h>
int main() {
int a, b;
a = (1, 2, 3);
printf("a == %d\n", a);
}
a.c: In function ‘main’:
a.c:6:11: warning: left-hand operand of comma expression has no effect [-Wunused-value]
a = (1, 2, 3);
^
a.c:6:14: warning: left-hand operand of comma expression has no effect [-Wunused-value]
a = (1, 2, 3);
^
a == 3
A valid usage:
$ cat a.c && gcc -Wall -o a a.c && ./a
#include <stdio.h>
int main() {
int a, b;
b = 1;
a = (a = b+1, a--, a+1);
printf("a == %d\n", a);
}
a == 2
The code is executed the following: b = 1; a = b+1 (a will be == 2); a-- (a will be == 1); a+1 will return 2 then this value will be assigned to a. a results as 2.
As you'll see on the wikipedia page, the comma operator has multiple usages.