導航:首頁 > 源碼編譯 > c語言代碼編譯沒有終止

c語言代碼編譯沒有終止

發布時間:2022-09-13 05:16:11

1. c語言打完代碼不能編譯了,編譯鍵按不了 軟體沒死

delta = b*b - 4*a*a; 不是 4ac嗎?而且有兩個解不是delta>0嗎?x1和x2不是一個 -b+ ;一個 -b- 嗎?

els (delta = 0)
{
x1 = (-b) / (2*a);
x2 = x1;
pronat(該方程有1解, x1 = x2 = %f\n", x1)
else寫錯了 printf寫錯了 輸出語句少了一個引號。
delta==0不是delta=0;而且應該是else if
最後一個是else
printf("該方程無解");
還有其他錯誤
你怎麼學的喲----

# include <stdio.h>
# include <math.h>
void main()
{
int a = 1;
int b = 2;
int c = 3;
double delta;
double x1;
double x2;
delta = b*b - 4*a*a;
if (delta >0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b + sprt(delta)) / (2*a);
printf("該方程有2解, x1 = %f, x2 = %f\n", x1 x2);

}
else if (delta== 0)
{
x1 = (-b) / (2*a);
pronat("該方程有1解, x1 = x2 = %f\n", x1)

}
else
{

printf("該方程無解\n");
}
}

2. 怎樣終止C語言的編譯

windows下按下CTRL+ALT+Del調出任務管理器,然後找到VC的進程結束進程就可以了。VC可能會提示你,直接點確定,然後重啟VC

3. 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];

4. c語言代碼執行到一半終止

大概問題,我已經知道了,所謂的執行到一半就終止,是因為數組越界了,而且編譯器不會報警。
比如,在你這個程序里,我輸出50-200,他永遠只會提示你有21個,因為你輸出之前,還需要把這個偶數存放到一維數組a中,然而一維數組只能存放20個數,50-200中間有76個偶數,到了第20個偶數的時候,數組就已經越界了,程序就運行不正常了,應該是直接跳出了循環。而你是在數組存放了第20個數的後面進行了i++,所以提示是第21個數,數組是從0開始計數的,你是從一開始提示的,所以第21個數其實就是數組a[20]的數,然後就跳出循環了,只要偶數大於21個,程序永遠都只顯示21個數,建議要麼把數組去掉,這樣就可以顯示全部的偶數了,就正常了,要麼把數組設置的大一點,但是這樣,如果數太多了,還是會溢出的,看你的感覺是想保存前20個偶數,那麼建議程序改成這樣,就能即保存前20個數,顯示的也是正常的。
代碼如下:
#include <stdio.h>
#include <windows.h>
int main()
{
int a[20];
int c,d,e,f,g,h,i;
long b;
printf("起始值:");
scanf("%d",&c);
printf("終止值:");
scanf("%d",&d);
d++;
for(b=c;b<d;b++)
{
if(b%2==0)
{
if(i<20)
{
a[i]=b;
}
i++;
printf("第%d個偶數:%d\n",i,b);
}
}

printf("%d到%d中有%d個偶數",c,d,i);
return 0;
}

5. 為什麼我用C語言編譯的時候,沒有錯誤,但是就是運行不出來結果

現在我來回答一下吧:
參照下面本人的例子來說明一下:
#include <AT89X51.h>
#include <stdio.h>
int main (void)
{
SCON = 0x50;
TMOD = 0x20;
TCON = 0x40;
TH1 = 0xE8;
TL1 = 0xE8;
T1 = 1;
TR1 = 1;
while (1)
{
printf ("Hello World!\n");
}
return 0;
}
代碼的具體意思怎麼樣,我就不解釋了,重點放在如何實現從串口調試窗口中輸出printf的內容吧。
其實很簡單,將代碼編譯鏈接後,開始調試,分別打開view -> serial window #1
然後,我們按run鍵,此刻,serial window #1並沒有任何內容,症結在哪兒呢?
我們回想一下串口通信的知識吧,知道了吧,我們沒有在代碼中設置串口發送寄存器中的內容,也就是,我們根本就還沒啟動串口發送消息。
這下好辦,我們繼續打開peripherals -> serial channel這個就是串口寄存器控制中心,我們在給其中的TI前面打上個勾,也就是啟動串口發送消息。
在此,我們就可以看到串口調試窗口中輸出printf的內容了~

上面的代碼是我參照那本書上的例子,我分析後,發現其實是它的代碼出錯了,只要把代碼改正,也就不用那麼麻煩了,經過上面這一步,估計大家猜到錯誤出在哪裡了,就就是:
T1 = 1;
我們改回:
TI = 1;
然後直接運行就可以看到效果了!

6. 看看這個程序C語言 編譯沒問題 運行終止

#include<stdio.h>
#defineMAX100
char*lookupLongestStr(charpch[][MAX],intn,int*maxlength)
{
intc[4]={0},t=0,i=0,j=0;
char*p;
for(i=0;i<n;i++)
{
for(j=0;pch[i][j]!='';j++)
c[i]=j;
}
*maxlength=c[0];
for(i=1;i<n;i++)
{
if(c[i]>*maxlength)
{
*maxlength=c[i];
p=pch[i];
}
}
returnp;
}
intmain()
{
charpch[4][MAX]={"wasdwasdwasd","werewer","gddfgasdfddffsadffa","uiuio"};
intmaxlength=0,i=0;
char*p;
p=lookupLongestStr(pch,4,&maxlength);
printf("最長的單詞是%s長度是%d ",p,maxlength);
return0;
}

7. c語言中循環語句如果沒有終止條件能否編譯

可以啊,編譯器只能檢查語法錯誤和一些簡單的語義錯誤,死循環不會報錯

8. C語言程序問題,編譯沒問題運行時程序會自動終止。提交給ACM測評結果顯示Runtim error

scanf("%d",N[i]);你的這里不對
scanf函數的後面那個參數要給個地址,你這不是地址而是數組里的一個具體成員
應該寫成scanf("%d",&N[i]);
你這是非法訪問野指針

9. 怎樣讓c語言程序結果不結束

在您想要暫停的地方加上 system("pause"); 就可以使 C/C++ 程序暫停。不過,這個辦法奏效的前提是系統中必須存在 pause 這個命令。此外,還需要包含標准頭文件 stdlib.h(對於 C)或者 cstdlib(對於 C++)。
這個是一個方法 還有 方法2
這種方法稍微有點復雜,但它通用於任何系統,只要這個系統擁有符合標準的 C/C++ 編譯器。在您想要暫停的地方加上 getchar();(對於 C 和 C++)或者 cin.get();(僅適用於 C++)就可以使程序暫停,然後按回車程序就會繼續執行。不過,您會發現,這種辦法卻不一定奏效。如果您夠細心,會發現只有當 getchar();/cin.get(); 前面有接收輸入的語句的時候,該辦法才會失效。如果之前沒有接收任何輸入,該辦法是 100% 奏效的!這是因為,如果前面接收了輸入,輸入流中可能會有殘留數據,getchar();/cin.get(); 就會直接讀取輸入流中的殘留數據,而不會等待我們按回車。解決該問題的辦法是,先清空輸入流,再用 getchar();/cin.get();。清空輸入流的辦法如下:

1). /* 適用於 C 和 C++。需要包含 stdio.h(對於 C)或者 cstdio(對於 C++)*/
while ( (c = getchar()) != '\n' && c != EOF ) ; /* 對於 C 和 C++ */

2). cin.clear(); // 僅適用於 C++,而且還需要包含標准頭文件 limits
cin.ignore( numeric_limits<streamsize>::max(), '\n' );

例如
#include <iostream>
#include <limits>
#include <cstdio>

using namespace std;

int main()
{
int i_test, c;

printf("Please enter an integer: ");
scanf("%d", &i_test);
printf("You just entered %d.\nPress enter to continue...", i_test);
while ( (c = getchar()) != '\n' && c != EOF ) ; // 清空輸入流
clearerr(stdin); // 清除流的錯誤標記
getchar(); // 等待用戶輸入回車

cout << "Please enter an integer: ";
cin >> i_test;
cout << "You just entered " << i_test << ".\nPress enter to continue...";
cin.clear(); // 清除流的錯誤標記
cin.ignore( numeric_limits<streamsize>::max(), '\n' ); // 清空輸入流
cin.get(); // 等待用戶輸入回車

return 0;
}
最後還有一個方法 :
先運行 Windows 下的 MS-DOS(對於 Windows 98 等較老的 Windows 系統)或者「命令提示符」(對於 Windows XP 等較新的 Windows 系統),然後進入您想運行的 C/C++ 程序所在的目錄。假設該程序位於 D 盤的 cprog 目錄下,依次輸入以下內容就可以進入該目錄:

D:
cd cprog

接著輸入該程序的名字,按回車,該程序就會運行起來。假設該程序的名字為 test.exe,我們可以這樣輸入:

test

其實,不用進入 cprog 也可以運行 test,輸入如下:

D:\cprog\test

閱讀全文

與c語言代碼編譯沒有終止相關的資料

熱點內容
卡爾曼濾波演算法書籍 瀏覽:761
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:837
安卓怎麼下載60秒生存 瀏覽:797
外向式文件夾 瀏覽:229
dospdf 瀏覽:425
怎麼修改騰訊雲伺服器ip 瀏覽:380
pdftoeps 瀏覽:486
為什麼鴻蒙那麼像安卓 瀏覽:730
安卓手機怎麼拍自媒體視頻 瀏覽:180
單片機各個中斷的初始化 瀏覽:718
python怎麼集合元素 瀏覽:475
python逐條解讀 瀏覽:827
基於單片機的濕度控制 瀏覽:493
ios如何使用安卓的帳號 瀏覽:877
程序員公園采訪 瀏覽:805
程序員實戰教程要多長時間 瀏覽:968
企業數據加密技巧 瀏覽:129
租雲伺服器開發 瀏覽:807
程序員告白媽媽不同意 瀏覽:330
攻城掠地怎麼查看伺服器 瀏覽:595