Mình có bài tập là in ra tổng số kí tự của từng từ trong chuỗi, và từ đó. Thầy mình bắt viết theo driver của thầy nên mình tìm hoài không ra cách. Thầy mình yêu cầu dùng getchar() và ungetc(). Mình không biết làm sao để con trỏ giữ lại vị trí trong vòng lặp.
Code mình cần viết sẽ nằm trong getword(char *w).
trickier to master
p0 sẽ in ra:
n=8, s=[trickier]
n=2, s=[to]
n=6, s=[master]
n=0, s=[] trả lại 0 và mảng rỗng nếu là dấu xuống dòng
n=-1, s=[] nếu gặp EOF thì trả lại -1 và mảng rỗng
Mình
Driver p0.c:
> #include "getword.h"
> int main()
> {
> int c;
> char s[STORAGE];
> for( ; ; ) {
> (void) printf("n=%d, s=[%s]\n", c = getword(s), s);
> if (c == -1) break;
> }
> }
Header getword.h:
> #include <stdio.h>
> #include <string.h>
> #include <strings.h>
> #define STORAGE 255
> int getword(char *w);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?