rewind(stdin) 是把文件指针回绕到文件起始处。 fflush(stdin) 是把文件输入缓冲区清0。 stdin 是标准输入设备(输入流),通常是键盘。(但也可以是通过转向的文本文件。) ------------ 昨天有人问,数入123,第2句输入语句不能工作 int a1; char s[20]; scanf("%d",&a1); //第一句输入语句 scanf("%[^'\n']",s); // 第2句输入语句 //[^'\n']表示除了'\n'其他的均可输入即仅有换行表示输入结束; printf("a1=%d\n s=%s\n",a1,s); -------------- 答:添上fflush(stdin); 就可以了。 int a1; char s[20]; scanf("%d",&a1); //第一句输入语句 // rewind(stdin); fflush(stdin); scanf("%[^'\n']",s); // 第2句输入语句 printf("a1=%d\n s=%s\n",a1,s); 添上 rewind(stdin) 效果相同。 ---------//空白符(空格符' '、水平制表符'\t'、垂直制表符'\v'、换行符'\n'、回车符'\r'之类的字符);//一个'a‘是字符,只占一个字符的内存空间,"a"是字符串,后面还有'\0'占两个字符的空间。 //字符串比较函数,一般形式为strcmp(字符串1,字符串2)。 比较规则: 对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。如果全部字符相同,则认为相等;若出现不相同的字符,则以第一个不相同的字符的比较结果为准。 如果两个字符串都由英文字母组成,则有一个简单的规律:在英文字典中位置在后面的为“大”,还要特别注意:小写字母比大写字母“大”。 返回值: (1)字符串1=字符串2,返回0 (2)字符串1>字符串2,返回一个正整数 (3)字符串1<字符串2,返回一个负整数。
C
最新推荐文章于 2024-06-26 00:15:00 发布