c語言中用scanf函式輸入字串後用strcmp函式比較

2021-04-22 02:21:00 字數 1572 閱讀 3501

1樓:匿名使用者

那個抄,字串是襲

有結尾符的啊

bai。長du度應該

zhi宣告為3.

int main()

2樓:匿名使用者

字元陣列不能用這bai樣du

的方式賦值,(b="ab")並且字元數zhi組的長dao度版要比,實際長度+1,因為系統會在數權組內部自動加一個'\0'作為字串的結束標誌,它佔一個空間,

你如進行賦值的話用

可以用gets和scanf函式。

c語言中用scanf函式先輸入字串,後輸入數值。輸出時會出現錯誤的數值,怎麼解決

3樓:sunny鞦韆墜

#include

int main()

你下面的**我給你改了一下,把%s%d之間的空格去掉了,然後加了一個&a,通過兩次賦值,消除緩衝中回車的干擾

4樓:匿名使用者

char buf[200];

int i;

scanf("%s %d",buf,&i);

這樣應該可以,注意字串不能包含空格。

5樓:匿名使用者

scanf()函式是個阻塞函式,只有等待你輸完之後,才能把緩衝區中的資料交給記憶體。有可能是你的輸入有問題,另外scanf()中一般不要有格式控制,他是個不安全的函式。

6樓:青春染紅手指

請把你的程式貼上來,這樣才能幫你解答,這樣太寬泛了。錯誤之處有很多呢!

c語言 if中巢狀strcmp函式,比較字串 不報錯 但是有部分可能不執行 求大神指教

7樓:我喜歡看火影

大哥,你這個輸入的可是中文呀!這個要注意!

有可能是會是陣列結尾處\n之類的問題。

你可以除錯到if(strcmp(bus[i].name,busname)==0)這句,

在記憶體中仔細看看兩者是否一樣。

8樓:

不要冤枉了「if中巢狀strcmp函式」,你看看你為什麼要在if(strcmp(bus[i].name,busname)==0)後加一個分號呢?錯誤根子就在這裡!

9樓:匿名使用者

sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'ad hoc distributed queries',1

reconfigure

插入的**

:insert into dbo.resources(resourcesurl,resourceslink,resourcestext) select * from openrowset('microsoft.

jet.oledb.4.

0','excel 8.0;hdr=yes;database=f:\book1.xls', [sheet1$])

10樓:匿名使用者

name裡原先有值嗎?

c語言中scanf和printf函式的問題關於雙精度

其實嚴格來說 兩個是一樣的 輸入的時候要用 lf 輸出的時候也要用 lf 的 f能輸出double 我也不懂 哈哈 你就按照 double 對應 lf 理解就可以了能輸出不影響 lf 不能輸入輸出double的時候再問也不遲 lf長浮點型,f浮點型 1f 小數點後1位 如果是 輸出printf 的輸...

c語言中scanf裡面要求輸入的變數也要初始化嗎

int scanf const char format,scanf 函式是格式化輸入函式,它從標準輸入裝置 鍵盤 讀取輸入的資訊。其呼叫格式為 scanf 格式化字串 地址表 函式 scanf 是從標準輸入流 stdio 中讀內容的通用子程式,可以讀入全部固有型別的資料並自動轉換成機內形式。你的下面...

關於c語言scanf()函式用法

scanf是c語言中的一個輸入函式,與printf函式一樣,都被宣告在標頭檔案stdio.h裡,因此在使用scanf函式時要加上 include 在有一些實現中,printf函式與scanf函式在使用時可以不使用預編譯命令 include 它是格式輸入函式,即按使用者指定的格式從鍵盤上把資料輸入到指...