C語言符串問題,C語言 字串問題

2022-12-09 22:02:37 字數 743 閱讀 5924

1樓:匿名使用者

因為在編譯的時候,這兩個陣列的空間是已經分配好的,而這兩個陣列的定義是在相鄰的,所以分配的空間也是連續的,因此你在輸入超過陣列i長度的字元時,會覆蓋到陣列j的空間。

在vc裡編譯的時候,後面的變數存放在前一個變數的前面,比如#include "stdio.h"

main()

在我的機器上輸出是1245056,1245048,說明j的空間在i之前,這也就解釋了lcofjp的問題

可能編譯系統的不一樣,對於變數空間的分配也是不一樣的但是liuwenjiexx 為什麼會出現兩個地址不連續的情況也不太清楚

2樓:匿名使用者

不是吧。。。我用borland c++ 3.0編譯後結果輸出的就是abcde。顯然跟j沒有關係。

不過不會出現錯誤的。

3樓:匿名使用者

樓上說的有道理。不過在vc6.0上出現的問題,樓上的回答就解決不了了.例如:

輸入abcdefgh

poiuyt

輸出的卻是

yt這是怎麼回事呢?

4樓:abc好人

dfsasfasdfsfgasdfsfdasdf

5樓:匿名使用者

我在我的vc6.0上按你的方法試過,結果還是abcde,緊接著出現:

「測試.exe 遇到問題需要關閉。我們對此引起的不便表示抱歉。」

你再試一下!

c語言巨集定義字串問題,C語言巨集定義字串問題

用拼接符可以做到 define string arg aaaaaaa arg bbbbbbbbbb 但arg必須是個常量,不能是變數 c語言,將數字和字串拼成一個字串。用巨集來做,用api誰都會 巨集定義字串拼接可以使用巨集運算 即 define strcat x,y x y。運算子可以將兩個記號版...

c語言字串輸出是亂碼,C語言,字串輸出是亂碼

include include include int random int num void main printf 請依次輸入學生姓名 for i 0 i被點到的同學的名字是 printf s p random n 1 int random int num 你好沒有亂碼 就是邏輯上有些錯誤如圖 ...

c語言關於字串輸入的問題,一個C語言字串輸入問題

有明顯的致命錯誤 c語言字串輸入時,不要加地址符號 因為陣列名就表示地址。for int i 0 i 2 i 另外再加個標頭檔案 include c語言中比較兩個字串是否相等,不能直接比較if stu j name nm 應改成if strcmp stu j name,nm 0 if stu j n...