C语言字符串方面字符的反转问题
问题描述:
#include
int main()
{
int i,j,k,n,h;
char s1[1024],s2[1024];
scanf("%d",&n);
for(i=1;i<=n;i++)//循环输入两次
{
for(j=0,k=7;j<=7&&k>=0;j++,k--)
{
scanf("%c",&s1[j]);
s2[k]=s1[j];//换位
}
for(h=0;h<=7;h++)
{
printf("%c",s2[h]);//输出
}
}
我想任意输入长度的字符然后反转,但是这样编程循环中进行了限制,必须输入7个字符才可以,希望大神教教如何输入任意长度都可以反转
答
#include
#include
int main()
{
int i,j,k,n,h;
char s1[1024],s2[1024];
scanf("%s",s1 );
for(i=strlen(s1)-1,j=0;i>=0;i--,j++){
s2[j]=s1[i];
}
s2[j]=0x00;
printf("%s\n",s2);
}
答
%s读入一个字符串,然后strlen计算一下字符串长度不就行了吗。。。头文件是
答
考虑可以用栈实现反转
答
动态数组 char* str=new char【n】