[問題] 字串反轉= =?
遇到的問題: (題意請描述清楚)
為什麼char str[10]改成 char *str;
程式跑到一半就會當掉~~
我想問的問題是
char str1[10] 和 *str 意思不是差不多嗎
我是指str1[10]的str1 和 *str的str
這二個不是都是位址嗎?
為什麼char str[10]就會過,而char *str時 程式就會怪怪的
這二者 到底有什麼不同(我是指同樣都是位址str1、str,為啥一個有成功,
一個是失敗的,是因為str1[10]有index嗎?),
我希望可以得到解惑
謝謝
希望得到的正確結果:
abcdefg -> gfedcba
程式跑出來的錯誤結果:
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
dev-c++
有問題的code: (請善用置底文標色功能)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str[10]; // char *str;
scanf("%s",str);
char temp;
int tail=strlen(str);
char *phead=str;
char *ptail=str+tail-1;
for(int i=0;i<strlen(str)/2;i++)
{
temp=*phead;
*phead=*ptail;
*ptail=temp;
phead++;ptail--;
}
printf("%s",str);
system("pause");
return 0;
}
補充說明:
這程式是可以執行的。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.111.28
推
10/15 19:10, , 1F
10/15 19:10, 1F
→
10/15 19:13, , 2F
10/15 19:13, 2F
→
10/15 19:13, , 3F
10/15 19:13, 3F
→
10/15 19:14, , 4F
10/15 19:14, 4F
推
10/15 19:15, , 5F
10/15 19:15, 5F
→
10/15 19:21, , 6F
10/15 19:21, 6F
→
10/15 19:31, , 7F
10/15 19:31, 7F
→
10/15 19:32, , 8F
10/15 19:32, 8F
推
10/15 19:47, , 9F
10/15 19:47, 9F
→
10/15 20:01, , 10F
10/15 20:01, 10F
→
10/15 20:06, , 11F
10/15 20:06, 11F
推
10/15 20:15, , 12F
10/15 20:15, 12F
→
10/15 20:40, , 13F
10/15 20:40, 13F
→
10/15 20:40, , 14F
10/15 20:40, 14F
→
10/15 23:43, , 15F
10/15 23:43, 15F
→
10/16 01:18, , 16F
10/16 01:18, 16F
→
10/16 01:26, , 17F
10/16 01:26, 17F
→
10/16 01:32, , 18F
10/16 01:32, 18F
→
10/16 01:33, , 19F
10/16 01:33, 19F
→
10/16 01:42, , 20F
10/16 01:42, 20F
推
10/16 04:17, , 21F
10/16 04:17, 21F
→
10/16 04:18, , 22F
10/16 04:18, 22F
推
10/18 15:20, , 23F
10/18 15:20, 23F