当前位置:首页 » 编程语言 » 为什么c语言没输入就运行了
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

为什么c语言没输入就运行了

发布时间: 2022-07-03 09:46:04

c语言这里为什么只能输入一次就结束运行了

在第一个scanf的后面加上getchar(),就可以了。

一个好的习惯就是,在每个scanf后面,都加上getchar();

Ⅱ C语言代码运行问题,为什么编译通过,但是运行时直接结束,没有输入

请把最后两行从main()中移出来:
typedef struct tree
{
int weight;
int parent;
int lchild;
int rchild;
}HTNode,*HuffmanTree;
//定义编码
typedef struct code
{
int bit[MAX];
int start;
}HCNode,*HuffmanCode;
HTNode HT[MAX]; //移到这里
HCNode HC[MAX];

Ⅲ 一个有关C语言scanf的问题 运行到scanf()时还没有输入,为什么自动执行下面的语句了

%c 让你输入的是字符,包括空格,换行符。而我们按下回车键的时候就是一个换行符
需要先getchar();去掉换行符。懂?
不懂请追问,懂了求accept
电脑我懂你团队为您服务

Ⅳ c语言编程,没有提示错误,可是一运行,不等键盘输入,直接就执行完了。

调试结果,可以输入数据,不存在你说的问题
这样改吧:
void main()
{
begin:
char ch;
printf("请输入一个大写字母: \n");
ch=getchar();
//scanf ("%c",&ch);
if(64<ch&&ch<91)//去掉单引号
{
ch=ch+32;
printf("%C\n", ch);//输入ch结果
}
else
{
printf("输入错误!");
goto begin;
}
system("pause");
}

Ⅳ c语言求助 求大神帮我看一下这个代码,为什么运行时什么都还没输入就显示错误了

因为栈上的空间没那么大, 你用了三个大数组. 把N的值修改小
或者在堆上申请空间
例: int*a = (int *)malloc(sizeof(int) * N);
堆上的空间很大, 这样可以避免,
但是记得最后用free(a)进行空间释放.

Ⅵ 这个C语言程序运行时,我输入一个数字,按回车,没输入字符串,就直接显示了,为什么呢

贴上你的代码。。调用输入函数错了吧。

Ⅶ c语言 为什么我没输入就跳出程序结束了

你得把全部函数贴出来, 如果输入缓存里有数据,getchar会直接读取缓存数据,亦可自己把i的值用 %d打印出来看下,是10的概率很大,或者是13 、EOF

Ⅷ C语言代码 还没输入就先输出了一次结果

估计是编译器问题,我这里运行是正确的

#include<stdio.h>
void main()
{
int a,i=3;
scanf("%d",&a);
while(a!=100&&i>0)
{
if (a>100)
{
printf("gao");
}
else
{
printf("di");
}
scanf("%d",&a);
i--;
}
if(a==100)
{
printf("ok");
}
else
{
printf("tt");
}
}

Ⅸ C语言问题,大佬帮忙啊啊啊啊,开始运行还没输入就死了。。

#include<stdio.h>
#defineN10000
//N太大

//使用之前要先定义或声明
intxy(int*x,inty)
{
intm=0,*p;
for(p=x;p<x+y;p++)
m+=*p;
returnm;

}
intmain()
{intc,a[N],i;
scanf("%d",&c);//要加&
for(i=0;i<c;i++){
scanf("%d",&a[i]);}
xy(a,c);
printf("%d",xy(a,c));
return0;
}

Ⅹ C语言中有scanf语句,为什么没有等待用户输入就运行结束了

Visual Stdio2010 经测试,可以正常输出,你的不能正常输出的原因未知,还有,顺便提一下,你的代码不规范,记得在最后的大括号之前加上一句
return 0;