#include "stdafx.h"
#include<string.h>
#include<stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
char abc[28] ;
//abc[26] = '\0';
abc[0]=65;
char hj = abc[0];
for(int i=0; i<26; i++)
{
abc[i]=++hj;
printf("%d\n",i);
}
int l=strlen(abc);
abc[l]='\0';
printf("length of abc_array is %d\n",(strlen(abc)));
for(int i=0; i<strlen(abc); i++)
{
printf("%c",abc[i]);
printf("\n");
}
}
문자열의 출력 길이가 39이며 잘못되었습니다. 오류가 무엇입니까?strlen()이 올바른 값을 제공하지 않습니까?
'strlen'에는 null이 필요합니다. null을 넣을 위치를 결정하는 데 사용할 수 없습니다. – chris
이것은 C++과 어떤 관련이 있습니까? 이것은 분명히 C 문제입니다. –
주석 처리 된 부분'// abc [26] = '\ 0';은 정확했으나 주석 처리를하지 않았습니다 – P0W