문자열을 입력해서 각각의 단어를 배열에 넣으려고 합니다.
이렇게 소스를 짰는데 결과가 첨부 사진처럼 나옴니다.
이상한 문자들이 왜 나오는지 모르겠습니다.
각각의 단어만 입력하려면 어떻게 해야되나요??
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define SIZE 20
void ASCII_number (char *p, int count);
int main()
{
char input[SIZE];
int length,i,count;
char *p;
count=1;
printf("입력 : ");
gets(input);
p=input;
length = strlen(input);
for(i=0; i<length; i++) //단어 갯수 구함
{
if(isspace(*(p+i)) ) //공백문자면
{
count++;
}
}
printf("main함수 단어 갯수 %d\n",count);
ASCII_number(p, count);
return 0;
}
void ASCII_number (char *p, int count)
{
int i,j,k,length,f;
char A[10][SIZE];
printf("함수 단어 갯수 %d\n",count);
f=0;
k=0;
length = strlen(p);
for(i=0; i<length; i++)
{
if(isspace(*(p+i)) )
{
for(j=f; j<i; j++)
{
A[k][j]=*(p+j);
}
A[k][j]='\0';
f=j+1;
k++;
}
else if(i==length-1) //마지막 단어면
{
i++;
for(j=f; j<i; j++)
{
A[k][j]= *(p+j);
}
A[k][j]='\0';
}
}
for(i=0; i<count; i++)
{
for(j=0; j<SIZE; j++)
{
printf("%c",A[i][j]);
}
printf("\n");
}
}
# 원래 하고자 하는 문제가, 하나의 배열에 문장을 입력하여 각 단어의 두 번째 알파벳을 비교하여 아스키코드값이 작은 순서대로 저장하여 출력하려고 합니다 - 방법 좀 알려주시면 감사하겠습니다