🏷️다음 문장을 쉼표 연산자를 사용해 while문으로 대체해보자.
📌문제
do {
process(c = func());
}while(c != '\n');
func()
문자 하나를 리턴해준다.
process()
는 받은 문자를 처리하는 어떤 함수이다.
📌답
while (process(c = func()), c != '\n');
📌전체 코드
#include <stdio.h>
#include <stdlib.h>
char func(void);
void process(char);
int main(void)
{
char c;
#if 0
do{
process(c =func());
}while(c != '\n');
#endif
while (process(c = func()), c != '\n');
printf("end of main");
return 0;
}
char func(void)
{
static char str[] = {'h','e','l','l','o','\n','w','o','r','l','d','\0'}, *pc = str;
return *pc++;
}
void process(char c)
{
printf("process function is called: %c\n", c);
return;
}