
圖中那個用int a[100];來賦值的a[100]為什么在scanf輸入時那一行里面不用加&和[]
uj5u.com熱心網友回復:
別的格式符對應變數加&是為了取地址,而陣列名本身就是地址,加方括號就不是地址了,加&就畫蛇添足了。uj5u.com熱心網友回復:
scanf("%s",a)是輸入一個字串,不是一個字符,由于字符陣列名已經代表陣列存放的字串的首地址,所以不用加取地址運算子&,后面也不用方括號[]指出陣列元素都下標。望采納uj5u.com熱心網友回復:
那[]呢uj5u.com熱心網友回復:
scanf對應的a的位置要求的是地址,而陣列a的名字就是陣列的首地址,因此不需要加&樓主定義的a是int型別陣列,而用%s輸入,型別不匹配吧,雖然不影響程式運行~,根據樓主的程式邏輯,應該將a定義成char型別的陣列;
另外,c=c的操作沒意義,建議洗掉;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/276760.html
標籤:C語言
