내 할당을 위해 C++로 코드를 프로그래밍하려고합니다.배열에 여분의 데이터가 저장되는 이유는 무엇입니까?
내 주 및 기능에서 일부 데이터를 받아 들여야하는 부분 중 하나는 main에서 보낸 배열의 첫 번째 부분을 가져 와서 함수의 배열에 넣어야한다는 것입니다.
for (int i = 0; i <= strlen(main) && exit == 0; i++){
if (main[i] != ';' || main[i] != '\0'){
keyword[i] = data[i];
if(main[i] == ';' || main[i] == '\0')
exit = 1;
}
이
라는 배열의 코드main = "Hello World;Yes;No;Okay;Good Bye",
그래서 난 내 배열 Hello World
이 keyword
라는 것을 저장할 것입니다 일어나고 난 후 여분의 데이터를 참조 키워드 문자열을 printf를하면 문제가 무엇인지 단어 Hello World
여기
내가 printf와
Your keyword-----> 'Hello World;? ' Actual keyword---> 'Hello World'
내 논리 사용에 문제가 있습니까?
감사
나는 코드의 나머지 부분은 확실하게 볼 것이다,하지만 내 생각 엔'keyword'는'숯불 *'(보다는, 예를 들어,'표준 : string') 때문이다 이 경우 for-loop가 끝날 때'keyword '끝에 "\ 0"을 하나 추가해야합니다. – jogojapan
나는 정말로 당신의 질문을 이해하지 못했지만 break 키워드를 사용하여 ';'문자를 만나면 for 루프를 종료 할 수 있습니다. 키워드에 'hello world'가 포함되도록 – Pramod
@Pramod break; 내 과제에서 허용되지 않는 이유는 루프를 깨기 위해 exit 변수를 사용하는 이유입니다. – Ali