在主函数中输入一个字符串(不包含空格),写一个新函数将字符串按反序存放,并在主函数中输出反序后的字符串
gets()能把字符串写入数组里,
我只需要再写一个新数组,把array数组的最后一个元素赋值给新数组的第一个元素,把array的倒数第二个赋值给新数组的第二个……
这样一个一个赋值,万一阿华明天换一个字符串,我又要重新写了,让我好好思考一下。
我想到了!我可以用for循环实现赋值——
先用strlen()函数计算出array的长度,array数组最后一个元素的下标就是长度-1;
然后把array数组的最后一个元素,赋值给新数组的第一个元素;
接着array数组的下标减一,新数组的下标加一,这样就把array的倒数第二个赋值给新数组的第二个啦……
让新数组的下标一直增加到,与array数组最后一个元素的下标相等,就可以把array中的所有元素赋值给新数组了啊!
#include<stdio.h>
#include<string.h> //strlen()函数在string头文件中,一定得先调用一下
int main(void){
char array[100],newarray[100];
gets(array);
//printf("%s",array);
int num = strlen(array); //先计算出array数组长度
int i,j=num-1; //数组下标是从0开始,所以最后一个元素的下标需要用长度-1
/*
当新数组newarray元素下标,增加到和array长度相等时
array中的所有元素都被反序存到newarray中了
就可以结束循环啦
*/
for(i=0;i<num;i++){
newarray[i] = array[j];
printf("%c",newarray[i]);
j--;
}
return 0;
}
标签:元素,下标,自定义,编程,数组,字符串,array,1031,赋值 From: https://www.cnblogs.com/su-1007/p/17295748.html