scanf("%d",&a[i]); 无此功能,当你连续按回车时,它继续等待输入数据。可以用gets(s);再sscanf读数。用strlen(s)判断为空行,则停止输入:include<stdio.h> include<stdlib.h> void main(){ int i,a[10];char s[20];for(i=0;i<10;i++) { gets(s);if (strlen(s) < 1) brea...
这还真有点小学问,如果是字符数组,if(a[i]!='\n') break;就可以了,但得把不需要的那个'\n'从数组中用a[i]='\0';抹掉并添加了结束符。要是数字数组,比如整数数组呢,上面方法就不凑效了。用下面代码可实现——
零基础学C语言程序设计6.2.2for循环执行过程#零基础学C语言#C语言#计算机等级考试 六点二点二节呢是循环方式,呃 for 循环语呢,在每次循环时呢,都需要做一次判断,对吧? 结果为假呢?跳出循环,结果为真呢就进入循环,你就说是你还在
总结起来,当在C语言中结合scanf函数和while循环时,如果希望程序在用户输入字符后继续运行,可以通过在循环条件中判断scanf函数返回的换行符来实现。这样即使用户按下回车键,程序也不会停止运行,而是继续等待用户的输入。这种用法可以提升程序的交互性,使其更加用户友好。©...
1、打开软件,直接使用int类型来定义一个变量用于保存getchar()返回的字符类型。2、接下来是循环,如下图所示,直到输入的字符为回车键则退出并输出所有输入的内容。3、最后,全部的代码如下图所示,输入好了之后回车确定,这样就可以直到回车停止输入。
C语言中scanf函数一般来说遇到了空格,回车或者是EOF都会停止进行读入,特别是空格,在输入的时候不要随意加入空格,否则输入的东西就不是你想要的了。在遇到EOF时停止,windows命令行中按ctrl+z,linux命令行中ctrl+d即为EOF。如果从文件读取,文件结尾就是EOF。
这样,当用户输入完一行文本并按下回车键时,scanf函数就会停止读取输入。 需要注意的是,scanf函数在读取输入时会将换行符留在输入缓冲区中,因此在使用scanf函数之前通常需要先使用getchar函数将缓冲区中的换行符清除掉。例如: #include <stdio.h> int main() { char input[100]; printf("请输入一行文本(以回车...
if(...){ ...;break;} do{ scanf("%d",&a);}while(getchar()!='\n');//遇到回车符结束;就是scanf函数不输入任何数,按回车直接结束循环;for(int i=0;getchar()!='\n';i++)//这也是以回车符结束输入;scanf('%d",&a[i]);while(getchar()!='\n')//同上;scanf('%d...
在你scanf("%c",&m);后面加一行getchar();不然的话你前面用scanf取得m后按回车,后面的getchar就会获取到这个换行符从而直接结束while 注:也可以用string.h中的fflush
include <stdio.h> int main(){ int num = 0;char str[100];while(getchar(str + num) != '\n'){ num++;if(100 == num)break;} printf("%d\n",num);return 0;} 你运行看看,是不是你要的效果!!!