程序代码:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> int main() { int i,j,temp; char str[101]; for (;;) { gets(str); for (i=0;; i++) //zheng xiang. { temp=isspace(str[i]); if (temp==0) break; } for (j=0;;)//qv kongbai fu { str[j]=str[i]; i++; j++; if (str[j]=='\0') { // count=j; break; } } for (i=j-1;; i--)//ni xiang qv kongbai { temp=isspace(str[i]); if (temp==0)//目的:直到检测到非空字符返回假 { str[i+1]='\0'; break; } } printf("%s\n",str); if ((str[0]=='E') && (str[1]=='N') && (str[2]=='D') && (str[3]=='\0')) return 0; } return 0; }
这是我今天又改了点,count好像白写了,我就删了,我做前测了下,isspace返回的是8和0,不是1和0,所以就一直用的!=8。
至于你写的。。。我就勉强读懂定义了些字符串什么的,我现在只会用三个循环还有些学过的函数,指针刚刚讲,我也没预习,所以课上听得不是很懂。
我希望逆向挨个读,掠过那些空白符,包括空格,但是它总是一上来就符合条件然后跳出循环了。