用了for和while两个方案,大同小异。原题要求在不使用&&或者||的情况下编写等价循环语句,我这里干脆把整个程序完整写出来吧。
方案一:
#include <stdio.h>
#define lim 1000
int main()
{
int i = 0;
char c, s[lim];
while ( i < lim -1 ){
c = getchar();
if ( c == '\n' ){
s[i] = '\0';
break;
}
if ( c == EOF ) {
s[i] = '\0';
break;
}
s[i] = c;
++i;
}
printf("The string is: %s\n", s);
return 0;
}
方案二:
#include <stdio.h>
#define lim 1000
int main()
{
int i;
char c, s[lim];
for (i =0; i < lim -1; i++){
c = getchar();
if ( c == '\n' ){
s[i] = '\0';
break;
}
if ( c == EOF ) {
s[i] = '\0';
break;
}
s[i] = c;
}
printf("The string is: %s\n", s);
return 0;
}