게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 문자열 저장 질문이요!!
게시물ID : programmer_8616짧은주소 복사하기
작성자 : 찌빠묵
추천 : 0
조회수 : 909회
댓글수 : 8개
등록시간 : 2015/03/15 00:38:37
옵션
  • 본인삭제금지
aaaa.png
문자열을 입력해서 각각의 단어를 배열에 넣으려고 합니다.
 
이렇게 소스를 짰는데 결과가 첨부 사진처럼 나옴니다.
 
이상한 문자들이 왜 나오는지 모르겠습니다.
 
각각의 단어만 입력하려면 어떻게 해야되나요??
 
 
#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");
 }
}

 
 
# 원래 하고자 하는 문제가, 하나의 배열에 문장을 입력하여 각 단어의 두 번째 알파벳을 비교하여 아스키코드값이 작은 순서대로 저장하여 출력하려고 합니다 - 방법 좀 알려주시면 감사하겠습니다

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호