我想让输入的字符窜倒着输出要考虑点什么呢求指点迷津
#include<stdio.h>
#define N 100
void Permute(char *p,int n)
{
int i;
char t;
for(i=0;i<n/2;i++)
{
t=*(p+i);
*(p+i)=*(p+n-1-i);
*(p+n-1-i)=t;
}
printf("The permute ch is: ");
for(i=0;i<n;i++)
printf("%2c",*(p+i));
}
int main(int *p)
{
char ch[N];
printf("Input the ch: ");
gets(ch);
int num=sizeof(ch);
Permute(ch,num);
return 0;
}
你的问题出在
int num=sizeof(ch);
要注意字串的实际长度与占用内存长度的区别
sizeof(ch);是占有长度,它就是N
而实际的长度要用
int num=strlen(ch);
注意要加头文件
#include <string.h>
另外,你程序的格式,必须用支持C99以上或C++的编译器
因为老式c语言不支持在程序后面定义变量的
改好后程序的测试结果
热门标签: