小周末最近自学了指针和数组
打算做一个"掀门帘"的小游戏
具体怎么掀呢,例如这里有两个字符串
char str1[] = "###########";
char str2[] = "hello world";
将第一个字符串逐次从两边向中间掀开,最终得到第二个字符串。
我们先看一下想要的效果:
思路大概是这样的,将第二个字符串str2的每一个字符赋给str1,再将str1打印出来
但需要注意顺序,str2的头尾分别复制到str1,再分别自增和自减,就完成了如上操作。
具体的代码如下:
int main(){
char str1[] = "###########";
char str2[] = "hello world";
char* p1 = str1;//保存str1的起始位置
char* p2 = str2;//保存str2的起始位置
char* p3 = str1 + strlen(str1) - 1;//保存str1的末尾位置
char* p4 = str2 + strlen(str2) - 1;//保存str2的末尾位置
puts(str1);
while (p2 <= p4){
*p1 = *p2;//起始位置赋值
p1++;
p2++;
*p3 = *p4;//起始位置赋值
p3--;
p4--;
puts(str1);
}
system("pause");
return 0;
}