1樓:
scanf("%s",&som); //這句寫錯了,應該是 scanf("%s",som);
int som[200]; //int 改成char ,int 無法用%s
#include "stdio.h"
int main(void)}
2樓:
首先sim本身就是陣列的地址,所以不用加&,當然加了也沒什麼問題,只是畫蛇添足。
s和s應該就是型別的長度不同,類似char和wchar。
%s是按字串接收,但是你卻用來給陣列傳值,那麼必然導致問題出現了。
你傳一個,當然問題沒有被發現,結果正常。
但是你傳aaaaa,你覺得是一個a就變成一個som陣列的元素麼?
a是char型別的,但是som是int型別的,長度不對奇,那麼就會出現兩個a構成了一個som陣列的元素
本來一個大a是0x00000041,但是你aaaa這麼傳只是讓som指向aaaa而已,
實際上由於型別不對奇,每個som的元素就變成了0x00410041,如果改成這樣兒就不會錯了。
#include "stdio.h"
int main(void)}
3樓:雨點加油
主要是因為,你的som陣列是一個整型的,需要改成char型
c語言判斷直接賦值問題,C語言 判斷直接賦值問題
首先判斷y是否大於z,若大於,則執行 x 2這個語句,並把x 2的值賦給x 若小於,則先執行x 2,然後將x 2的值賦給x,然後執行逗號表示式,得到的值為2 最後一個,但對結果沒有影響,由於 的優先順序要大於逗號表示式的優先順序,所以語句會先賦值,然後進行逗號執行 先執行 y z 如果是真,則執行x...
c語言判斷題,c語言判斷題
樓主他的問號寫錯了。正確應該是這個樣子的,他要表示的是 p 這個代表陣列指標,指向x這個陣列 p 這個是二維指標,指向的是p這個地址指標 他估計是想表達 號。不過肯定不能這樣打的。所以上面就很顯然了,第一個是 p 是先運算後加1 所以 p 相當於首地址。所以是2 因為p 所以p p 1了,所以是第二...
c語言判斷題,C語言判斷題
1a.錯誤 2b.正確 3b.正確 4b.正確 5a.錯誤 6a.錯誤 7b.正確 8a.錯誤 9b.正確 10b.正確 abbbaababa c語言判斷題 20 53.可以對整型陣列進行整體輸入 輸出 54.函式中的形式引數是區域性變數 55.在不同的函式中可以使用相同名字的變數 56.在一個函式...