#define _crt_secure_no_warnings
#include
struct person
;int
main()
;printf
("%s,%d,%c"
, person.name[20]
, person.num, person.***)
;return0;
}
**看似正確,但輸不出結果,原因是在此處犯了乙個非常簡單的錯誤。
如何查錯:debug
錯因:倒數第三行,字串輸出時錯誤;
因為字串在c語言中是以陣列的形式進行儲存的,而陣列又是一段連續的記憶體空間。在進行輸出時,只需向編譯器傳入字串首位址即可輸出。
而倒數第三行 person.name[20]是將字串最後乙個字母(即第21個元素)進行輸出,與%s不符,所以導致編譯錯誤。
關於字串的小知識點
char c[20]
;scanf
("%s"
,c);
//此處不需要加&,因c語言陣列名表示該陣列第乙個元素的首位址
printf
("%s"
,c);
C語言之字串輸出
1.前導程式 1 include2 include 1提供strlen 的函式原型 3 define density 62.4 2預處理命令 4int main void 5 2.關於字串 1 字串是乙個或多個字元的序列。如 i am a student 2 c語言用空字元來標記乙個字串的結束。陣列...
C語言字串輸入和輸出
字串一文對字串做了個簡單介紹,若要讀取字串,則首先需要分配空間,最簡單的辦法就是宣告陣列,如下 char name 20 c語言提供了許多字串輸入函式 scanf gets 和fgets 等 輸出函式 printf puts 和fputs 函式等。本文主要講解這部分內容。另外,c 也提供了字串行輸入...
C語言 字串的輸入 輸出
c語言中沒有字串型別,而是用字元陣列 char a 代替 單字元 c 字串 s 法一 用scanf輸入字串,printf輸出字串 char ch 5 for int i 0 i 5 i for int i 0 i 5 i system pause return 0 法 二 整個字串處理 char c...