포인터배열 문장 이어쓰기 프로그램 입니다.(해결)
달
#includestdio.h
#includestring.h
void main()
{
char temp[80]={};
char a[4]=end;
while(1)
{
char str[80]={0};
printf(input the character line : );
scanf(%s,str);
*(temp-1)=(*str);
if(*str==(*a))
break;
strcat(temp,str);
strcat(temp, );
printf(%s\n,temp);
}
수정본
#includestdio.h
#includestring.h
void main()
{
char temp[80]={0};
while(1)
{
char str[80]={0};
printf(input the character line : );
gets(str);
if(strcmp(str,end)==0) break;
strcat(temp,str);
strcat(temp, );
printf(%s\n,temp);
}
}
}
문장이어쓰기 프로그램인데요 ...글을쓰면 그 대로 그 이전에 문장에 이어서 붙여쓰는 프로그램입니다. 그리고 끝낼때 end라는 단어를 만나면 while문을 빠져나오는 프로그램입니다. 목적은 strcat을 공부하다가 나온것이구요
프로그램은 실행이 되는데 실행에서 첫문자에 e로 시작되는 edfdsf 이런식으로 시작되면 오류 라고 뜨면서 프로그램을 나와버립니다.한마디로 e만 나오면 정신을 못차린다는 것이지요.. 고수님들 갈켜주세요.
실행은 되지만 워닝이 2군데나 뜨는데 이것도 잡아주심 겸사겸사 감사하겠습니다.^^;
-
무크
와우 또 scanf와 gets의 차이를 얻을수 있는 정보를 얻었군요..큐수다님에게 감사합니다.
-
돌심보
scanf는 공백,엔터 등 화이트 스페이스를 입력할 수 없고, gets 함수는 공백을 포함하여 입력할 수 있습니다.
따라서, scanf는 띄어쓰기가 있는 문장을 입력할 수 없고, gets는 문장을 입력할 수 있습니다.
if(*str==(*a))와 if(str[0]==a[0])는 똑같은 표현이지만,이 말은 str의 첫번째 문자와 a의 첫번째 문자를 비교할 뿐입니다. str과 \end\를 비교하는 게 아니죠. 수정본에서 문자열을 비교해서 종료하는 것으로 -
다크
님말대로 gets함수쓰니까 문제 없이 돌아가네요.. 근데 무슨차이인가요?
if(*str==(*a)), 이거나 if(str[0]==a[0])익 형식적으로 배열과 포인터로 봤을 때 똑같은거아닌가요?
그리고 scanf와 gets함수차이는 뭔가요?
또 님때문에 하나해결하네요.. ㅋ -
흰우유
char temp[80]={}; - 이거 오류나지 않나요? 오류가 안 난다면 괜찮지만, 난다면 0으로 초기화하세요.
그리고 while문 안에 char str[80]={0}는 밖으로 빼세요. 그리고 문장 이어쓰기이면, scanf 말고 gets나 fgets를 쓰세요. scanf로는 문장을 입력할 수 없습니다.
*(temp-1)=(*str); 이것을 배열로 표현하면 temp[-1]=str[0] 입니다.
if(*str==(*a)). 이것도 if(str[0]
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700562 | 함수포인터에서요 (7) | 소심한여자 | 2025-07-06 |
2700530 | 전처리문 질문입니다. (1) | 아놀드 | 2025-07-05 |
2700510 | c언어를 어케하면 잘할수 있을까요.. | 연연두 | 2025-07-05 |
2700484 | 두 개가 차이가 뭔지 알려주세요...(소수 찾는 프로그램) (2) | 날위해 | 2025-07-05 |
2700426 | 인터넷 창 띄우는 질문이요 (1) | 정훈 | 2025-07-04 |
2700400 | 원넓이를 계산이요 ㅜㅜ | 천칭자리 | 2025-07-04 |
2700368 | if에 관해서 질문이요... | Orange | 2025-07-04 |
2700339 | 이거 결과값이 왜이런건지.. (4) | 그댸와나 | 2025-07-04 |
2700313 | 파일 읽어서 저장하는데 빈파일일 경우 문재가 발생하네요.. (2) | 크나 | 2025-07-03 |
2700287 | 구조체 동적할당 연습을 하는데 오류가 뜹니다...(해결) (3) | 아련나래 | 2025-07-03 |
2700264 | 문자와 숫자 동시에 입력??? | 글고운 | 2025-07-03 |
2700236 | txt파일로만 쓰고 읽게 하려면 어떻게 해야 하나요..?? (8) | 미국녀 | 2025-07-03 |
2700211 | 전위 연산자 (2) | 어른처럼 | 2025-07-02 |
2700183 | C에서 파일이름을 받고, 그 파일의 사이즈를 출력해줘야하는데 내용이 출력이 안되네요 ;ㅅ; | 피스케스 | 2025-07-02 |
2700150 | 꼭좀 도와주세요ㅠㅠㅠ | 호습다 | 2025-07-02 |
2700095 | 연산문제...질문... | 오빤테앵겨 | 2025-07-01 |
2700070 | while문 , 3의배수 출력하는 프로그램좀 짜주세욤. | 횃불 | 2025-07-01 |
2700041 | 초보인데요 ㅎ 배열안에 배열을 집어넣을수 있나요?? | 헛장사 | 2025-07-01 |
2700012 | 배열// (1) | 전갈자리 | 2025-07-01 |
2699895 | 무한루프에 빠집니다.!! 해결좀부탁드려요 (10) | 선아 | 2025-06-30 |