(c語言)我找到問題了,編譯器沒有報錯,還可以執行,誰能解答一下?

2025-04-05 20:40:19 字數 1600 閱讀 6813

1樓:小黑哎啊

你這**錯了。

能執行但是,不建議這樣寫,賣蠢殲因為有歧義。

s->字串(char)佔位符。

c->單個字元(char)佔位符。

char a;//單個字元。

char s[10];/字串。

scanf("%c",&a);/輸入單個字元。

scanf("%s",s);/輸入字串。

printf("%c",a);/輸出檔鬥單個字元。

printf("%s",s);/輸出中衝字串。

2樓:帳號已登出

編譯器只檢查語法邏輯的問題。對於數學邏輯問題殲沒唯是氏培不會報錯的。

語法正確,可以編譯並執行,但不能察穗保證執行結果是正確的。

3樓:我和芯萪娘貼貼

把"%s"換成"%c"

如果換成"%c"後,出現"輸入乙個字元,第二個輸入慧含嫌沒輸入也前手繼續執老衝行"情況的話,就在scanf後面加一行fflush(stdin);

4樓:yx陳子昂

char a;

只有乙個位元組的內陪豎存空間。

scanf("%s",&a)

這裡其實溢位了,應該用。

scanf("蘆源大 %c",&a);

注意有乙個空裂返格。

5樓:神官0麥依

你覺得**有問題?

我看了你這裡的**沒問題可以執行。

6樓:匿名使用者

你都找到問題了還要別人解答幹嘛?

編譯執行失敗為啥?

7樓:紫薇參星

這個c語言程式有兩處問題。

一strcpy和strcat函式在標頭檔案中,需要包含進來。

二給字元陣列s1和s2賦值的方法不對。

完整的程式如下(改動的地方見註釋)

#include ""

#include ""//這裡包含標頭檔案。

void main()

char s1=abcdef",s2=12345f";/這裡給字元陣列賦字串。

char s3[50];

strcpy(s3,s1);

strcat(s3,s2);

printf("%s",s3);

c++編譯器報警告怎麼辦?

8樓:小採姐姐

警告解決技巧:

典型的指標使用錯誤,定義了乙個指標變數,只能用來儲存位址,如果這個位址所指向的空間不是系統分配給它的,那麼你對這塊襪頃記憶體的賦值是非法的,就好比「所作所為」。

三重迴圈是因為非法修改了至少 3*3*5 = 45 位元組的記憶體值,要知道以前 windows 98 的藍屏大部分是由於非法修改記憶體引起的。

情況分析。1、keys1的存在性。雖然在這裡執行沒有出錯,但程式是錯的。使用了不是由你也不是由系統為分配的儲存空間。

2、char** keys1,為乙個指標租好虧分配了儲存空間。keys這個儲存空間不是你應當存取的,你的程式裡面沒有宣告你對這些儲存弊神空間的擁有性。

如何用c寫編譯器,如何用c寫一個編譯器

先學編譯原理。然後根據步驟,1 處理預編譯 2 詞法分析 3 語法分析 4 語義分析 5 中間 轉換 6 二進位制 生成。簡單起見,不需要考慮優化。初期可以不需要支援太多語法。怎樣去寫一個編譯器 用c語言寫c語言編譯器 需 這個需要考慮到很多的問題 各種錯誤的型別 以及可能出現的情況 這個可以先去看...

急求c語言編譯器本人是新手!現在網上的編譯器眾多,種類繁多,真不知道選哪款最好是中文的

vc 6.0就很好用啊。我新手入門就用的它啊。如果不會用可以給我發資訊。我可以給你解答。給你gcc你會用麼?還是老實的用vc吧,編譯器是次要的,關鍵是能寫出好程式才行。原本進來是準備拿分的,看了你寫的內容真是讓人忍不住說你 tc,c free,vc 都還不錯啊。另外還有pgcc,gcc,pathsc...

跪求C語言編輯器和編譯器,加急本人新手,哪位大神肯幫下忙

vs2008,vc6.0,codeblock,好多呢。不過最好根據你的開發環境選擇相應的ide。dev c 不錯的c c 編譯器。c free就可以了啊,我們初學c語言時就是使用這個 新手建議用codeblocks這裡還有使用教程 希望對內 你有幫助哈容 新手先用vc好一點,c語言新手 哪位大神幫個...