1. 程式人生 > >c語言的數組和字符串

c語言的數組和字符串

內容 出現 例子 就是 函數 分享圖片 出了 簡單 sca

  今天來說一說c語言的數組和字符串,為什麽說這個呢,因為最近搞c語言碰到了些問題,今天就簡單談一談我所碰到的問題。

  首先看一下結構體和函數,如圖所示

技術分享圖片

然後要求用戶輸入姓名,電話號碼,類型和電子郵箱,用戶可以循環輸入,這裏出現了第一個問題。因為用戶循環輸入之後要退出,所以我再循環的時候設置了一個條件,while(s->name!=‘q‘);這裏s是結構體類型,如果用戶輸入字母q,就退出。乍一看,這語句沒毛病,我然後開心的去調試一下,調試的結果就是我弄了一個死循環,按"q"不會退出。我不死心,我很自信,我寫的這個沒bug。於是我在scanf函數後面加了一個printf,就是我每輸入一次,就直接把我所輸入的內容打印出來。繼續測試,輸入q之後,打印的是q,沒錯,但還是個死循環,也就是說,while(s->name!=‘q‘);條件不成立。我懵了,打印出來的明明就是q,但循環就是不能退出,想了很久沒想出來,索性就不做了,休息了好幾天,然後就去做網站了。

  幾天之後回來重新看一看,還是覺得自己寫的沒bug,那就換一個判斷循環的條件吧,在函數體內設置一個char flag,也讓用戶輸入q退出。由於隔的有點久,我忘記了這裏出了什麽錯,如果我沒記錯的話,這可能是c語言的一個bug,就是當外部函數使用結構體,讓用戶進行輸出的時候,它會自動跳過外部函數自己定義變量的輸入。什麽意思呢,我舉個例子,結構體還是上面的結構體,函數自己定義,如圖所示

c語言的數組和字符串