그래서 내가 입력하는 프로그램을 작성해야 SMILEC에서 공백 다음 문자를 읽는 방법?</p> <p><strong>봄 마일 인디 거짓말 자아</strong></p> <p>및 결과가 될 것입니다 :
을하지만 입력 몇 가지 문제를 가지고 . 나는 입력의 길이를 모르기 때문에 어떤 길이라도 될 수있다.
그래서 scanf를 사용하여 모든 단일 문자를 읽습니다. 나는 필요한 문자를 저장할 배열의 크기를 알기 위해 공백을 셉니다.
다음은 내 주요 문제입니다. 공간을 찾으면 scanf에서 읽은 다음 문자를 저장해야하지만 어떻게 할 수 있습니까? 혹시이 문제를 해결하기위한 다른 방법을 알고 있습니까?
여기에 지금까지 내 코드입니다 :int main()
{
char ch;
int i = 0, count= 0;
while(scanf("%c", &ch) != EOF)
{
if(ch == '\n')
count = 0;
if(ch == ' ')
count++;
char array[count+1];
if(ch == ' ')
array[i++] = ch + 1; // I tried this, but it doesn't work.
}
return 0;
}
다음 문자를 읽어야합니다. 당신은 이미 캐릭터를 읽는 법을 알고 있기 때문에 .... 나는 그 문제가 무엇인지 모르겠다. –
'array' 선언문을 루프 밖으로 옮겨야합니다. 여러분이 가지고있는 방식대로, 문자가 공백이 아닌 한 첫 번째 반복에서 요소가 0 인 배열로 만들어집니다. – ryyker
나는 그것을 얻는다. 그러나 만일 내가 고리에서 선언하면 나는 그 크기를 어떻게 알 수 있냐? 줄이 얼마나 길기 때문에 나는 모릅니다. 그래서 카운터를 사용하여 공간마다 첫 번째 문자를 저장하기위한 배열의 완벽한 크기를 선언합니다. – Kynthia