Problem C: 指针4
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 308 Solved: 128
[Submit][Status]
Description
编写str_cat(char *s, char *s1)函数 实现将s1拼接到s后的功能
编写str_turn(char *s)函数 实现翻转字符串s的功能
Input
主函数控制 输入为两行
Output
主函数控制
Sample Input
abc def
Sample Output
abcdef fedcba
HINT
Append Code
int main()
{
char s[100];
char s1[100];
scanf("%s %s",s,s1);
str_cat(s,s1);
printf("%s\n",s);
str_turn(s);
printf("%s\n",s);
return 0;
}
Code
#include<stdio.h>
void str_cat(char *s, char *s1)
{
int len = 0;
char *p = s,*x=s1;
//lenth of s
for(;*(p+len)!='\0';len++)
{
;
}
int i = 0;
//cating
for(;*(p+i)!='\0';i++)
{
*(p+len+i) = *(x+i);
}
*(p+i+len) = '\0';
}
void str_turn(char *s)
{
char *p = s;
int len = 0;
for(;*(p+len)!='\0';len++)
{
;
}
char x[len];
//取'\0'之前的内容
for(int i=0;i<len;i++)
{
x[i] = *(p+len-1-i);
}
for(int i=0;i<len;i++)
{
*(p+i) = x[i];
}
}