當前位置:首頁 » 編程語言 » 為什麼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;