이것이 실행될 때 (커튼 뒤) 어떻게됩니까? int x = 7; x = x++; 즉, 변수가 포스트 증분되어 하나의 명령문으로 자체에 할당되는 경우입니다. 나는 이것을 컴파일하고 실행했다. 전체 진술 후에도x 여전히 7 입니다. 내 책에는 그것이 증가 한다고 말합니다 !x
방금 C를 공부하기 시작했고 포인터를 함수의 매개 변수로 포인터에 전달하는 예제를 수행 할 때 문제를 발견했습니다. 이것은 내 샘플 코드입니다. #include <stdio.h> #include <string.h> #include <stdlib.h> int* allocateIntArray(int* ptr, int size){ if (ptr != NULL){ for (int i = 0; i < size; i++){ ptr[i] = i; } } return …
이 Java 코드의 출력을 설명해 주시겠습니까? int a=5,i; i=++a + ++a + a++; i=a++ + ++a + ++a; a=++a + ++a + a++; System.out.println(a); System.out.println(i); 두 경우 모두 출력은 20입니다.
저는 현재 C ++를 배우고 있으며 얼마 전에 증가에 대해 배웠습니다. 나는 "++ x"를 사용하여 이전에 증분을 만들고 "x ++"를 사용하여 이후에 할 수 있다는 것을 알고 있습니다. 그래도 언제 둘 중 하나를 사용해야할지 모르겠습니다. "++ x"를 실제로 사용한 적이 없으며 지금까지 모든 것이 잘 작동했습니다. 언제 사용해야합니까? 예 : …
다음 코드를 고려해 봅시다. int main() { int i = 2; int b = ++i++; return 3; } 오류와 함께 다음과 같이 컴파일됩니다. <source>: In function 'int main()': <source>:3:16: error: lvalue required as increment operand 3 | int b = ++i++; | ^~ 이것은 나에게 공평하게 들린다. 후위 증분 코드로서 …
다음 코드에서 컴파일러가 작동하는 방법에 대한 질문이 있습니다. #include<stdio.h> int main(void) { int b=12, c=11; int d = (b == c++) ? (c+1) : (c-1); printf("d = %i\n", d); } 나는 결과가 왜 확실하지 않다 d = 11.