[問題] 將字串倒過來顯示的問題
#include <stdio.h>
#include <stdlib.h>
#define a 20
void reverse(char[]);
int main(void)
{
char str[a];
printf("請輸入一列字串:");
gets(str);
reverse(str);
system("pause");
return 0;
}
void reverse(char str[a])
{
char str2[a];
int i,last,size;
puts(str);
size=sizeof(str);
last=size;
for(i=0;i<size;i++)
{
str2[i]=str[last-1];
last--;
}
printf("反轉後的字串為:");
puts(str2);
}
就像我的標題所說的
但是每次執行的結果 都永遠只會顯示前四個字元的字
而且後面還會出現奇怪的問號
感覺問題是出在不管我的str包含多長的字串
size=sizeof(str)出來的結果永遠都是4....
不知道有沒有人可以救救我
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.199.221
→
04/12 23:40, , 1F
04/12 23:40, 1F
→
04/12 23:40, , 2F
04/12 23:40, 2F
→
04/12 23:44, , 3F
04/12 23:44, 3F