推 ucrxzero: scanf("%s",number);改成scanf("%s",&number); 10/23 01:02
→ ucrxzero: 要改值一定要傳位址R 10/23 01:02
推 ucrxzero: 忽略上面我知道你問題在哪了 10/23 01:05
推 ucrxzero: number被改爛了 10/23 01:07
→ ucrxzero: 一樣是number的問題,你number一變前面都會跟著變 10/23 01:07
→ ucrxzero: number是位址~~~你只是一值改number指向的值而已~ 10/23 01:08
→ wm0116: 那我這邊怎麼改才會變成我想要的結果呢 10/23 01:09
推 ucrxzero: 不能動架構嗎? 10/23 01:15
→ ucrxzero: 還有我有一個問題 你要輸入浮點數float不是才佔4byte 10/23 01:16
→ ucrxzero: 為什麼要用50byte? 10/23 01:17
→ wm0116: 我只是多給他大小而已,我不清楚我要如何修改他才會變成 10/23 01:19
→ wm0116: 我想要的結果,我能想到的只有這樣而已QQ 10/23 01:19
推 ucrxzero: 幫你改好了 10/23 01:21
→ ucrxzero: 改成宣告 char number[50][50]; 10/23 01:21
→ ucrxzero: 改 scanf("%s",number[i]); 10/23 01:21
→ ucrxzero: 改 a[i]=number[i]; 10/23 01:22
→ ucrxzero: 萬事如意 10/23 01:22
→ wm0116: 換句話說,我只能用二維陣列存放資料,再去做判定跟修改 10/23 01:23
推 ucrxzero: 因為你原本寫的是改number指向的值,然後把number的 10/23 01:24
→ ucrxzero: 位址放進a[i] 10/23 01:24
→ ucrxzero: 我舉個例: 你原本像是一個迴圈指令 var=num 10/23 01:25
→ ucrxzero: 但你每次指定給a[i]的都是&var 10/23 01:26
→ ucrxzero: 那等於沒改 10/23 01:26
→ ucrxzero: 只是剛好C字串的位址就是他的字串,你誤以為傳到值 10/23 01:26
→ wm0116: 我明白了,也就是不同的值要指向不同的位子 10/23 01:27
→ wm0116: 我的寫法是讓他通通指向同一個位子,所以才有問題 10/23 01:27
→ ucrxzero: 對R 10/23 01:28
→ wm0116: 感謝大大 10/23 01:28
→ ucrxzero: 迴圈指定字串不可能在同一個字串內搞 10/23 01:28
→ ucrxzero: 因為字串本身就是位址 10/23 01:28
→ wm0116: 因為陣列是常數指標,所以我不能在迴圈這樣搞 10/23 01:29
→ ucrxzero: 除非拆解原number[0]+number[1]這種方法,但要重構 10/23 01:29
→ ucrxzero: 算了上面那句話當我沒說 10/23 01:30
→ ucrxzero: 式的 10/23 01:30
→ wm0116: 因為小弟我沒學到那麼深奧,所以只能用最原始的方法處理 10/23 01:31
推 ucrxzero: 我把我01:29的話重新講一次好惹 10/23 01:33
→ ucrxzero: 你要用指向的寫法寫 要類似這樣 10/23 01:34
→ ucrxzero: int main(void){ 10/23 01:34
→ ucrxzero: char a[10]; 10/23 01:34
→ ucrxzero: a[0]='a'; a[1]='b', a[2]='c' ;} 10/23 01:34
→ ucrxzero: 這種就是指向的方法 10/23 01:35
→ wm0116: 拆成一個個字元去做存入的動作吧?這樣才能指向? 10/23 01:36
→ ucrxzero: 你就會得到a="abc" 再用atof轉就可以,照你原本邏輯是這 10/23 01:37
→ ucrxzero: 對啊 10/23 01:37
→ ucrxzero: %s跟%c的作法不一樣RRRR 10/23 01:37
→ ucrxzero: 但就要重構你的程式碼了我也沒寫過但一定可行 10/23 01:38
→ ucrxzero: 你的問題這樣有解決了嗎 10/23 01:39
→ wm0116: 有,我明白該如何處理了,謝謝大大解惑 10/23 01:39
推 ucrxzero: 建議*a[50] 也改成a[50][50] 10/23 01:44
→ ucrxzero: 沒是忽略上面的那段話我以為會存取錯誤應該不會 10/23 01:45
→ wm0116: 好的,我明白啦,感謝 10/23 01:46