C语言中如何表达:"输入一个空行结束循环"?

程序里必须是用数组存储输入的内容,不能用getchar()函数
感谢各位提供的帮助,因为自己问题每表述清,所以回答的方向也.......
问题主要是scanf无视了输入的空格和回车,所以不能用这个函数.
老师给的答案:
while(a[0]!=' ')
{get(a);
........
}
谢谢piratekr 第一时间的回答以及对编程职业的介绍.

你的意思是按键盘上enter键结束么?
回车+换行 = ENTER 分别对应ASCII码的0xd和0xa

http://baike.baidu.com/view/15482.htm ASCII码表

我默认你是认为回车是结束标志

while(1)
{
char a;

a = getchar();
if(a == 0xa)
break;
}

就是这样
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-27
我认为用while循环比较方便,当然其他类型的循环也可以的
ch=getchar();
while(ch!=‘ ’)注意‘’里边有空格符,敲下空格键就可以了!
{
这里输入循环体;
ch=getchar();
}本回答被网友采纳
第2个回答  2010-11-27
动态分配数组 malloc
增加分配 realloc
--------------------------------
#include "stdio.h"

int main(void)
{
int *x;
int n=0;
x = (int *) malloc(sizeof(int));
while(1)
{
scanf("%d",&x[n]); printf("n=%d value=%d\n",n+1,x[n]);
n++;
x = (int *) realloc(x,sizeof(int) * (n+1));
}
getch();
return 0;
}
===============
打入:
12 34 56
n=1 value=12 // 输出
n=2 value=34 // 输出
n=3 value=56 // 输出
78 90
n=4 value=78 // 输出
n=5 value=90 // 输出
_ // 光标在这里.
第3个回答  推荐于2018-03-08
char str[200];

while(scanf("%s",str))
{
if(str[0] == '\0')
break;
}
第4个回答  2010-11-29
NoNoNo
while((c=getchar())!=' ');

C语言中如何表达:"输入一个空行结束循环"?
while(1){ char a;a = getchar();if(a == 0xa)break;} 就是这样

C语言读入一串字符行,以空行结束,要求输出其中最长的单词
程序可以写成死循环的形式,以读到空行为退出循环的条件。循环中以打擂台的形式检测最长的字符串。#include#includeint main(){ char s[500],max[50]; int i,j,m=0,n=0; while(1) { gets(s); if(strlen(s)==0) break; for(j=i=0; s[i]; i++) { while(s[...

C语言怎么判断输入的是一个空行?
可以通过gets读入整行数据。gets的功能是读入一行数据,并把换行符替换成字符串结束符,所以如果是空行,那么读到的字符串第一个元素就是结束符。通过判断gets的结果,即可知道是否为空行。参考代码如下:char buf[100];gets(buf);if(buf[0] == '\\0') printf("是空行\\n");...

C语言中EOF是什么意思?
scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。所以,这个循环,将是一个死循环。

c语言问题:为什么我输入1时程序直接结束? #include <stdio.h> #include...
而这一下回车被scanf函数认为是输入结束,但是gets函数会认为你输入的是回车。如果你用调试工具看一下就可以发先,a[0][0]里面放的是回车的ASCII码10,即\\n。其实你细心看一下也能发现,在结束前,多了个空行的。你可以在scanf函数下面加这样的代码:char t;getchar(t);把回车处理掉就不会被...

C语言。连续输入几个数字。如果输入空行就结束。
用gets() 语句输入

c语言中的空语句
1 while(1)2 { 3 ;4 a++;5 6 if(a == 10)7 break;8} 第三行就是空语句,当程序执行到第三行的时候,什么都不做,继续往下执行第四行,空语句不会影响程序的功能和执行顺序,第五行是空行,与空语句不同,程序执行到第五行的时候会忽略空行,而不会忽略空语句。具体...

c语言EOF不能结束循环,,
Windows下EOF用Ctrl+Z输入。而且,要另起一空行输入,Ctrl+Z之前不得有任何其他字符。比如 include "stdio.h"\/\/#include "string.h"\/\/void main(void){ char ch; while((ch=getchar())!=EOF) putchar(ch);}输入:abcdefg abcdefg ^Z 才能正常结束循环。

C语言getchar()简单问题!
EOF是end of file文件尾的意思 在C语言中,EOF是个宏,表示-1 当getchar()函数操作出现“错误”时会返回 EOF , c != EOF 表示读到一个有效的字符,会循环 一般在windows下,空行位置键入ctrl+z回车,会跳出循环

c语言编程一些快捷键
C语言编程一些快捷键如下:CTRL + SHIFT + B生成解决方案 CTRL + F7生成编译 CTRL + O打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4显示属性窗口 SHIFT + F4显示项目属性窗口

相似回答