C語言問題,c語言問題?

2021-05-04 07:36:08 字數 2505 閱讀 7850

1樓:自我程式設計

你這個程式是捕捉0到9的按鍵狀態,按下再鬆開時才會記錄,想要識別所有按鍵,把for迴圈範圍擴大。

比如for(charch=32;ch<=127;ch++)這樣就包含了特殊符號及大小寫字母還有數字。

但是,這個**是有問題的!

一、你這個**需在鍵位已經按下後啟動才能識別,否則啟動時沒有按下對應鍵位,程式就結束了。要巢狀死迴圈,讓其一直檢測。

二、直接擴大ascii區間,像上面的那樣32~127,識別字母區間會被防毒軟體直接判斷為病毒!!。

三、getasynckeystate不是c語言庫函式,是window的函式,換其它作業系統就失效。

getasynckeystate返回值最高位為1則說明對應ch的鍵被按下,所以這裡用&0x8000來判斷最高位。

四、想要捕獲其它軟體介面內容還有很多方法,比如:

1、通過windowapi函式findwindow來獲取視窗控制代碼。

2、遍歷視窗下控制元件控制代碼,找到輸入框控制代碼。

3、通過視窗控制代碼找到程序id(getwindowthreadprocessid函式),再通過id獲取程序控制代碼(openprocess函式)。

4、向目標程序申請記憶體(virtualallocex),再通過postmessage函式非同步傳送訊息獲取目標控制元件內的內容(具體訊息要結合控制元件型別,另外注意postmessage是非同步執行)。

具體自行查閱資料,一言兩語說不清,上面步驟需先搞懂window訊息機制。

注意:以上方法依然只限window系統,且有資料保護的控制元件無法獲取。

五、或簡單暴力的方法,直接寫個定時截圖,只要硬碟夠不停桌面截圖。

但不論寫什麼程式,和裝攝像頭一樣,終究都會被發現。!!!!!!!!!!!!!

2樓:匿名使用者

char c;

while(1)

//您試試

3樓:

我去我這小學畢業的竟然點進來了,c語言並不難,但是你得有一定的英語基礎,要不你都看不懂單詞啥意思,慢慢來吧,年輕人,一點一點的,好好的,多從網上學一點高階的程式設計技能,越來越好,越來越快的程式設計師屬於你!

c語言問題。

4樓:暢景彰

void main()

這個程式應該滿足你的要求了,而且我已經通過除錯了。

c語言問題?

5樓:匿名使用者

第一個for迴圈的

來作用是:找陣列a中第一自個比input大的元素,找到就跳出for(此時i儲存了這個元素的下標),未找到的話i最後等於9。

j=i;就是將上面找到的那個元素的下標或9儲存到j。

第二個for迴圈的作用是:把陣列a的下標為j至8的所有元素都後移一個位置,騰出下標為j的位置。

a[j]=input;就是將input插入到陣列a中第一個比它大的元素的前面(如果找到了這樣一個元素的話),否則(即陣列a的所有元素都比input小),則將input儲存到a[9](就是追加到陣列a的後面)。

6樓:匿名使用者

這句迴圈的bai意義是從索引9開始du

向左遍歷元素,直到i=j結束。zhi

整段代dao碼是接收鍵盤輸版入一個值,按大小順序插權入到陣列。

第一個迴圈是從陣列中查詢比輸入值大的位置,如果找到,則i就是命中的索引,如果找不到則迴圈到底,此時i為9(此種情況說明輸入值比陣列中的元素都大,後面輸入值存在尾部),無論是否找到最終將i賦值給j。

第二個迴圈就是從右側開始迴圈逐個將前一個資料往右移,最終將j索引指定的位置騰出空間

最終將輸入值賦值給j指定的位置。

因此整體功能就是按大小順序插入。

7樓:匿名使用者

先令i=9,再在i>j的情況下進行迴圈,每次迴圈結束後i-1

c語言問題?

8樓:田小米

if判斷句中,(x=1)是真命題,所以x被賦值為1,y=x,所以y被賦值為1。下一條語句,y=y+1,所以y=2。

所以x=1,y=2

c語言問題,求助

9樓:北京最遊科技****

這題是迷惑人用的……

因為迴圈內部沒有break,所以for會一直執行下去,直到a=11,。這時a大於10,迴圈結束。

最終a的值為11

10樓:岔路程式緣

for(a=0;a<=10;a++)

直到a=11時,迴圈結束。迴圈體對a的值沒有影響,包括continue對迴圈沒有影響。

所以,最後列印a的值是11,選項b。

C語言的問題C語言問題C語言問題

若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...

C語言問題,c語言問題?

一 c語言規定總是從main 開始執行的 這個函式也叫 主函式 因此,你發來的題目中的 1 6 8 敘述都是錯誤的,都應該選擇f。二 第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。三 第3題,c語言中強制...

c語言問題,C語言問題

for k 1 k 1 k 中,k 1是設循bai環du的初值,zhik 1是執行循dao環的條件,k 是迴圈的增量回。k 1時,k 1 2,為非0,c語言中,0代表答假,非0代表真。所以,k 1時往下執行迴圈,滿足k 4 列印k的值,即1。break 退出for 迴圈,下面的printf d k ...