이 코드를 실행할 때마다 IDE에서 문제가 발견되었습니다. 이 솔루션을 제공 할 수 있습니까? C 언어 프로그래밍의 strcat()
#include<stdio.h> #include<string.h> int main(void) { char cname[4]="mahe"; strcat(cname, "Karim"); printf("%s",cname); getch(); return 0; }
-2
A
답변
2
배열 충분히 크지 않다. 원래 배열은 초기 값 끝에서 널 바이트를 유지하기에 충분하지 않으므로 strcat()
은 문자열의 끝을 찾을 수 없습니다. 그런 다음 배열 외부에 씁니다. 이것들은 모두 정의되지 않은 동작을 일으 킵니다.
원래 문자열, 추가 할 문자열 및 후행 null 바이트를 포함 할만큼 충분히 선언해야합니다. 따라서 최소 10 바이트 (4 + 5 + 1) 여야합니다. char cname[10]
에
char cname[10] = "mahe";
strcat(cname, "Karim");
printf("%s\n", cname);
+0
그래. Thnx Buddy –
0
변경 char cname[4]
. 크기를 4로 설정 했으므로 처음에는 4 개의 문자를 추가 한 후에 더 이상 추가 할 수 없습니다.
크기를 변경하십시오. 그것입니다.
+0
Thnx Man, 그게 마지막 작품 –
관련 문제
- 1. strcat 대체 문제 C++
- 2. C - strcat 관련 문제
- 3. C Strcat valgrind error
- 4. 포인터를 사용하여 C 프로그래밍 strcat
- 5. C 프로그래밍의 버퍼 배열?
- 6. C 프로그래밍의 메모리
- 7. C 프로그래밍의 연결된 목록
- 8. C 프로그래밍의 printf, scanf와
- 9. C 프로그래밍의 분할 오류
- 10. 배치 프로그래밍의 C++
- 11. strcat overflow?
- 12. strcat 구현
- 13. 어셈블리의 Strcat
- 14. 연결시 Strcat 문제가 발생했습니다.
- 15. C++ : strcat()가 null을 덮어 쓰거나 이동합니까?
- 16. C 프로그래밍 - valgrind에서 오류를 일으키는 strcat() 사용
- 17. obj-c 프로그래밍의 올바른 방법
- 18. Objective-C 프로그래밍의 통신 위임
- 19. C 프로그래밍의 pthread 메모리 누수
- 20. C 소켓 프로그래밍의 여러 클라이언트
- 21. 일반 프로그래밍의 C++ 유형 확인
- 22. ios 프로그래밍의 C++ 라이브러리 포함
- 23. 목적 C 프로그래밍의 HTML 태그
- 24. C 프로그래밍의 일괄 업데이트 방법
- 25. 또는 C++ 템플릿 프로그래밍의 문
- 26. C 프로그래밍의 배열에서 문자 섞기
- 27. 객관적인 C++ 프로그래밍의 객체 배열
- 28. C++ 제네릭 프로그래밍의 미묘한 차이
- 29. C 프로그래밍의 IF 문 범위
- 30. strcmp() 및 strcat() 시퀀스
발견 한 문제는 무엇입니까? 오류 메시지 란 무엇입니까? [도움말 센터] (http://stackoverflow.com/help)를 방문하고 [How to Ask] (http://stackoverflow.com/help/how-to-ask), [How 최소, 완전하고 검증 가능한 예제 만들기] (http://stackoverflow.com/help/mcve), 여기에서 허용되는 질문 유형, 질문 작성 방법 및이 사이트를 효과적으로 사용하는 방법을 배울 수 있습니다. –