[英]Using strings or pointers to strings in struct
我想我錯過了一些關鍵的東西,我找不到答案。 如果我想在結構中使用字符串,最好使用 char arrays 還是指向它們的指針? 以下代碼按預期工作,但會引發警告“警告 C4047 'function': 'const char ' 在間接級別上與 'char ( )[3] 不同”
與以下結構定義一起使用時
typedef struct element {
char name[20];
char symb[3];
double wt;
}element;
並遵循創建元素的過程
element e;
char name[20];
char symbol[3];
scanf("%s %s %lf", &name, &symbol, &e.wt);
strcpy(&e.name, &name);
strcpy(&e.symb, &symbol);
檢查數據類型。
改變
strcpy(&e.name, &name);
至
strcpy(e.name, name);
和
scanf("%s %s %lf", &name, &symbol, &e.wt);
至
scanf("%s %s %lf", name, symbol, &e.wt);
也就是說,最好使用fgets()
來獲取用戶輸入。 如果必須使用scanf()
,則必須在使用掃描值之前檢查scanf()
調用是否成功。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.