【发布时间】:2015-07-07 06:32:39
【问题描述】:
我一直在研究这个非常简单的问题。我正在尝试反转一个字符数组,然后使用 c 语言将这个反转的字符数组存储到另一个数组中。这是我的代码,我无法弄清楚我的代码有什么问题。我真的不明白为什么当我尝试打印出我的 stcp 时,我的 stcp 是带有反转字符串的数组,屏幕上什么也没有显示。请提供建议,任何帮助将不胜感激。
#include<stdio.h>
int main() {
char st[100];
scanf("%s", st);
int count = 0;
while(st[count] != '\0'){
count++;
}
//printf("%s", st);
char stcp[100];
int i, j = 0;
for(i = count-1; i >= 0; i--){
st[i] = stcp[j];
j++;
}
puts(stcp);
return 0;
}
【问题讨论】:
-
如果是
C,那么你不应该将你的问题标记为C++,因为在C++,你所要做的就是打电话给std::reverse。 -
st[i] = stcp[j];-->stcp[j] = st[i];..stcp[j] = 0; -
次要:使用
size_t count比使用int countstackoverflow.com/a/994357/2410359 更好