반응형

C 103

정수가 짝수인지 홀수인지 확인하려면 어떻게 해야 하나요?

정수가 짝수인지 홀수인지 확인하려면 어떻게 해야 하나요? 닫혔어. 이 질문은 좀 더 자세히 설명해야 합니다.초점을 맞춥니다.현재 답변을 받고 있지 않습니다. 닫힘3년 전. 잠겼습니다. 이 질문과 답변은이 질문은 부적절하지만 역사적 의미가 있기 때문에 잠겨 있습니다.현재 새로운 답변이나 상호작용을 받아들이지 않고 있습니다. C에서 주어진 숫자가 짝수인지 홀수인지 어떻게 확인할 수 있나요?2로 나눌 때 나머지가 있는지 확인하려면 모듈로(%) 연산자를 사용합니다. if (x % 2) { /* x is odd */ } x&1을 사용하는 것이 「빠르다」, 「효율적이다」라고, 상기의 회답에 비판하는 사람도 있습니다.나는 이것이 사실이라고 믿지 않는다. 호기심에 저는 두 가지 간단한 테스트 사례 프로그램을 만들었습니..

programing 2022.09.03

main - collect2에 대한 참조가 정의되지 않음: ld가 1개의 종료 상태를 반환했습니다.

main - collect2에 대한 참조가 정의되지 않음: ld가 1개의 종료 상태를 반환했습니다. 프로그램(es3)을 컴파일하려고 하는데 단말기에서 쓸 때: gcc es3.c -o es3 다음 메시지가 나타납니다. /usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start': (.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status 내가 뭘 할 수 있을까?즉,es3.c는 정의되지 않습니다.main기능에서 실행 파일을 생성하려고 합니다.실행 파일에는 진입점이 있어야 하므로 링커는 불만을 제기합니다. 오브젝트 파일에만 컴파일하려면-c옵션: g..

programing 2022.09.01

단락 논리 연산자가 필수입니까?평가 순서는요?

단락 논리 연산자가 필수입니까?평가 순서는요? ANSI 규격은 논리 연산자를 C 또는 C++ 중 하나로 단락하도록 의무화하고 있습니까? K&R 서적을 보니 헷갈리네요.고객님의 코드가 단락된 작업에 의존해서는 안 된다고 되어 있습니다.그럴지도 모르기 때문입니다.표준에서 논리 운영은 항상 단락이라고 되어 있는 부분을 누군가 지적해 주실 수 있습니까?저는 주로 C++에 관심이 있는데, C에 대한 답변도 좋을 것 같습니다. 평가 순서가 엄밀하게 정의되어 있지 않기 때문에, 식내의 함수는 특정의 순서로 실행되거나 상정되어서는 안 됩니다.문장이 끝날 때까지 모든 참조 함수는 호출되지만 컴파일러는 가장 효율적인 순서를 선택할 수 있습니다. 이 표현식의 평가순서는 규격에 나와 있습니까? if( functionA() &..

programing 2022.09.01

이중 값을 나타내는 데 필요한 최대 문자 길이는 얼마입니까?

이중 값을 나타내는 데 필요한 최대 문자 길이는 얼마입니까? 부호 없는 8비트 int를 문자열로 변환하면 결과는 항상 최대 3자(255의 경우)이며, 부호 있는 8비트 int의 경우 "-128"과 같이 4자가 필요합니다. 부동소수점 값도 마찬가지입니다."double" 또는 "float" 값을 문자열로 표현하기 위해 필요한 최대 문자 수는 몇 개입니까? 통상적인 C/C++ 더블(IEEE 754)과 통상적인 10진수 전개(즉, %e printf 포맷 없음)를 전제로 합니다. 정말 작은 숫자(0.234234)가 정말 큰 숫자(정수를 나타내는 두 개)보다 더 길지 확실하지 않습니다.IEEE-754 사양보다 자세한 정보는 UC Berkely의 4페이지 강의 노트와 약간의 DIY 계산입니다.이 강의 슬라이드는 공학..

programing 2022.09.01

int의 최대값

int의 최대값 C/C++에서 (컴파일러에 따라) 정수의 최대값을 구하는 코드가 있나요?Integer.MaxValueJava로 기능합니까?C++의 경우: #include 그 후 int imin = std::numeric_limits::min(); // minimum value int imax = std::numeric_limits::max(); std::numeric_limits는 다른 유형으로 인스턴스화할 수 있는 템플릿 유형입니다. float fmin = std::numeric_limits::min(); // minimum positive value float fmax = std::numeric_limits::max(); C: #include 그 후 int imin = INT_MIN; // minim..

programing 2022.09.01

C에서 Unix 프로그래밍을 연습하려면 어떻게 해야 하나요?

C에서 Unix 프로그래밍을 연습하려면 어떻게 해야 하나요? 전문적인 자바(그리고 파이썬) 프로그래밍을 5년 동안 하고 컴퓨터 과학 교육이 서서히 사라졌다고 느낀 후, 저는 제 시야/일반적인 유용성을 세계로 넓히고 제가 기계에 정말로 영향력을 가지고 있다고 느끼는 무언가를 하기로 결심했습니다.저는 C와 Unix 프로그래밍을 배우기로 했습니다. 왜냐하면 그곳이 가장 흥미로운 문제들이 많이 있는 곳이기 때문입니다. 제 최종 목표는 일주일에 40~50시간을 비용을 지불하는 일에 소비해야 하기 때문에 제가 더 잘하고 싶은 코딩 타입이 될 수 있다는 것입니다.물론, 당신이 전에 하지 않았던 일을 할 수 있도록 고용되는 것은 아니기 때문에, 지금은 내가 스스로 일을 하고 있습니다. 이를 위해 K&R부터 시작했는데,..

programing 2022.08.31

형식 변환 - 서명된 int/char로 서명되지 않음

형식 변환 - 서명된 int/char로 서명되지 않음 아래 프로그램을 실행하려고 했습니다. #include int main() { signed char a = -5; unsigned char b = -5; int c = -5; unsigned int d = -5; if (a == b) printf("\r\n char is SAME!!!"); else printf("\r\n char is DIFF!!!"); if (c == d) printf("\r\n int is SAME!!!"); else printf("\r\n int is DIFF!!!"); return 0; } 이 프로그램의 출력은 다음과 같습니다. char is DIFF!!!int는 똑같아!!! 왜 양쪽에서 다른 출력을 얻을 수 있을까요? 력음음음..

programing 2022.08.31

정적 라이브러리를 공유 라이브러리로 변환하시겠습니까?

정적 라이브러리를 공유 라이브러리로 변환하시겠습니까? 서드파티제 라이브러리는 주로 다수의 스태틱(static)으로 구성되어 있습니다..a) 라이브러리 파일입니다.이것을 하나로 정리할 수 있습니다..a라이브러리 파일입니다만, 정말 싱글로 만들어야 합니다..so공유 라이브러리 파일 스태틱을 변환하는 방법이 있습니까?.a공유에 줄세우기하다.so파일? 아니면 일반적으로 대량의 스태틱을 조합하는 좋은 방법이 있을까요?.a몇 개의 파일이 있는.o파일을 하나의 파일로 만들다.so파일링?(물론 적절한 -L을 사용하여) 이 기능을 수행합니까? gcc -shared -o megalib.so foo.o bar.o -la_static_lib -lb_static_lib 안 해?g++ -shared -o megalib.so fo..

programing 2022.08.31

C의 문자열에 문자 추가?

C의 문자열에 문자 추가? C 문자열에 단일 문자를 추가하려면 어떻게 해야 하나요? 예 char* str = "blablabla"; char c = 'H'; str_append(str,c); /* blablablaH */ C 문자열에 문자를 추가하려면 먼저 문자열을 포함하는 메모리버퍼가 추가 문자를 수용할 수 있을 정도로 충분한지 확인해야 합니다.예제 프로그램에서는 지정된 리터럴 문자열을 수정할 수 없으므로 추가 메모리 블록을 새로 할당해야 합니다. 다음은 샘플입니다. #include int main() { char *str = "blablabla"; char c = 'H'; size_t len = strlen(str); /* one for extra char, one for trailing zero *..

programing 2022.08.31

C에 선행 0이 있는 'printf'

C에 선행 0이 있는 'printf' 다음과 같은 부동 소수점 번호가 있습니다.4917.24소수점 앞에 항상 5자, 앞에 0, 그리고 소수점 뒤에 3자리가 되도록 인쇄하고 싶습니다. 나는 노력했다.printf("%05.3f", n)사용하고 있는 임베디드 시스템에 탑재되어 있습니다만,*****포맷 지정자가 맞습니까?형식 지정자가 잘못되었습니다.에서printf()man page on machine): 0 공백 패딩이 아닌 제로 패딩을 사용해야 함을 나타내는 제로 "0 문자입니다.둘 다 사용되는 경우 "-는 "0를 덮어씁니다. 필드 폭: 필드 폭을 지정하는 숫자 문자열(옵션). 출력 문자열이 필드 폭보다 작을 경우 왼쪽(또는 왼쪽 조정 표시기가 있는 경우 오른쪽)에 빈 패드로 필드 폭을 구성합니다(선행 0은 ..

programing 2022.08.31
반응형