编写程序,要求用户输入一个字符串,程序将字符串字母反序输出。即如果输入为abcd,则输出为dcba。
因为还没学到字符串处理函数。不用字符串处理函数怎么做。指出问题所在。谢谢#include<stdio.h>intmain(){inta=0;charsz[100];pri...
因为还没学到字符串处理函数。不用字符串处理函数怎么做。指出问题所在。谢谢
#include<stdio.h>
int main()
{
int a=0;
char sz[100];
printf("请输入一个字符串");
scanf("%s",sz);
for(a=0;sz[a]!=32;a++)
for(a;a>=0;a--)
printf("%c",sz[a]);
return 0;
}
for(a=0;sz[a]!=32;a++) //这里我本来想!=\0,但编译错误 展开
#include<stdio.h>
int main()
{
int a=0;
char sz[100];
printf("请输入一个字符串");
scanf("%s",sz);
for(a=0;sz[a]!=32;a++)
for(a;a>=0;a--)
printf("%c",sz[a]);
return 0;
}
for(a=0;sz[a]!=32;a++) //这里我本来想!=\0,但编译错误 展开
2个回答
展开全部
不想先求长度的话,就递归的输出吧
#include<stdio.h>
void reverse_output( char * sz)
{
if (sz[0] != '\0' && sz[0] != '\r' && sz[0] != '\n')
{
reverse_output(sz + 1);
printf("%c", sz[0]);
}
}
int main()
{
int a=0;
char sz[100];
printf("请输入一个字符串");
scanf("%s",sz);
reverse_output(sz);
return 0;
}
先求长度的话在for(a=0;sz[a]!=32;a++)后面加个分号,否则成二重循环了
#include<stdio.h>
void reverse_output( char * sz)
{
if (sz[0] != '\0' && sz[0] != '\r' && sz[0] != '\n')
{
reverse_output(sz + 1);
printf("%c", sz[0]);
}
}
int main()
{
int a=0;
char sz[100];
printf("请输入一个字符串");
scanf("%s",sz);
reverse_output(sz);
return 0;
}
先求长度的话在for(a=0;sz[a]!=32;a++)后面加个分号,否则成二重循环了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询