#include<stdio.h>
#include<string.h>
void main()
{
char a[20]={"I am a student."};
char b[20];//逆序后存储到b[20]中
int j;//j控制循环次数
int k=0,m=0,n;
int length=0;
int num=0;//串中子串的个数。
for(;a[length]!='/0';length++);//求出串的长度,用length来表示.
for(j=length-k-1;j>=0;j--)
{
if(a[j]!=' ')
k++;//k含义是求空格后有多少个字符。
else
{
n=j;
for(;k>=1;m++,n++,k--)
b[m]=a[n+1];
b[m]=' ';
m++;
}
}
for(;k>=1;m++,j++,k--)
b[m]=a[j+1];
//测试程序,用puts()函数输出.
b[m]='/0';
puts(b);
}

本文分享了一道软件测试工程师常见的C编程题:不使用库函数实现字符串翻转。通过详细解析并提供代码示例,展示了如何逐字符逆序处理字符串,特别关注字符串中的空格分隔。
969





