多種資料讀取的時候,字串讀取放在末尾最好

2021-09-24 18:13:38 字數 892 閱讀 2691

如果先輸入字串再輸入數字,比如用scanf("%s,%d",s,&v);的格式,系統會出錯。原因在於系統將逗號當作字串的一部分賦值給了字串。

#include#include#define len sizeof(struct student)

struct student

;int n;

struct student * creat() //定義函式,此函式返回乙個指向煉表頭的指標

else

p2=p1;

p1=(struct student*)malloc(len); //開闢動態儲存區,把起始位址賦給p1

scanf("%ld,%s,%f",&p1->num,p1->name,&p1->score); //輸入其他學生學號

} p2->next=null;

return(head);

}void print(struct student *head)

while(p!=null); //當p不是空位址時

編譯器輸出結果不對。

將讀取字串的兩句話改為

scanf("%ld  %s %f",&p1->num,p1-name,&p1->score);
或者

scanf("%ld  %f %s",&p1->num,&p1->score,p1->name);//將字串移動最後輸入

字串讀取

有兩種方法可以讀c 字串 使用提取操作符 和getline函式。1 字串提取操作符 首先,它跳過前導空白字元,然後提取所有鄰近的非空白字元。當發現空白字元時,它就停下來。終止空白字元被留在輸入流中.提取操作符可以用來從鍵盤 cin流 或者使用開放式檔案流從檔案讀資料。例如,要把乙個值讀入字串 物件s...

多種資料庫的連線字串

mysql string driver com.mysql.jdbc.driver 驅動程式 string url jdbc mysql localhost 3306 db name 連線的url,db name為資料庫名 string username username 使用者名稱 string ...

C 字串讀取

char s 11 cin.getline s,11 讀取輸入當前行的11個字元到s中,但是存在問題 流快取裡面存在的多餘的位元組如果沒讀完,那麼有幾個流狀態標誌 eof fail bad good會出錯。這樣接下來的讀取就出錯了!需要cin.clear 來清除這些標識位才能繼續讀取接下來的數字。當...