s和&;s的類型不同。s的類型是char *,&;s的類型是char (*)[10],即指向壹行10個字符的指針。
在scanf ("%s ",&;s);在語句中,&;s有壹個隱式強制轉換,相當於scanf ("%s ",(char *)&;s);
擴展數據:
Scanf()是C語言中的輸入函數。它是壹個格式輸入函數,即數據按照用戶指定的格式從鍵盤輸入到指定的變量中。
scanf的開發:使用scanf函數輸入時,必須指定輸入數據的類型和格式,不僅復雜,而且容易出錯。C++保留scanf只是為了和C兼容,讓過去用C語言寫的程序可以在C++環境下運行。C++程序員願意用cin做輸入,很少用scanf。
參考資料:
百度百科-scanf