把字符数组"I love baofeng" 转换为"baofeng love I",不另外申请内存
本帖最后由 luoyihu 于 2013-10-16 22:31:58 编辑 这是去年暴风影音校园招聘时的笔试题,不知道今年还有没有.困扰我一年了,不知道是不是这样解答的
#include<stdio.h>
#define swap(a,b) {(a)=(a)+(b); (b)=(a)-(b); (a)=(a)-(b);}
void main()
{
char srcStr[15] = "I love baofeng";
int i = 0;// 计数
printf("%s\n",srcStr );
for( i = 0; i < 7; i++ )
{
swap( srcStr[i], srcStr[i+7] );
printf("%s\n",srcStr );
}// "baofengI love "
swap( srcStr[7], srcStr[13] );// "baofeng loveI"(注意,中间是两个空格)
printf("%s\n",srcStr );
for( i=0; i<4; i++ )
{
swap( srcStr[i+8], srcStr[i+9] );
printf("%s\n",srcStr );
}
printf("%s",srcStr );
}
当然,变量i可以不申请,把for循环一条一条的写出来.我这里不想那么麻烦,就这样写了 C语言 笔试
[解决办法]