当我点击按钮时,我试图在数组中推送一个数字,但它似乎不起作用。
在我的app.component.html中: -
void test_func(int a, int b, int *c) {
a ^= 5;
*c = a + b;
b <<= 4;
}
int main() {
int a = 3, b = 0x011, c = 0;
test_func(a, b, &c);
a = (b > c) ? b : c;
printf ("%d %d %d",a,b,c);
}
在我的app.component.ts中: -
Main function
Function call is made where a = 3 , b = 17(in int), c=0
and values are passed to the test_func
Functions runs:
a = 3 ^ 5 = 0110 or 6 ;
c = 17+ 6 = 10100 or 23;
b = 17x2^4 = 272 ; (by the formula of bitwise left shift operator)
Return to the main function
b is definitely greater than c so a returns 272 ;
您可以在Plunker中查看我的代码:
http://plnkr.co/edit/jM3NDu7V3AjzOWeuCoDi?p=preview
感谢您的帮助
答案 0 :(得分:0)
之前我遇到过这个问题,结果发现它与Angular中的变化检测有关。
我的解决方案是做一个浅拷贝而不是推。但是* ngFor也可以解决这个问题。
this.dayNum = [...this.dayNum, 9];