太原网站建设多少钱,北京住建网站,克隆网站怎么做,简单网站制作软件#字符串倒序输出实现逻辑#xff0c;通过strlen获取字符串长度#xff0c;然后通过 len/2 进行交叉赋值#xff0c;这里需要注意#xff0c;不需要考虑len是奇数还是偶数的问题。如果len是奇数#xff0c;最后一个字符就不需要倒序#xff0c;如果是偶数#xff0c;最后… #字符串倒序输出实现逻辑通过strlen获取字符串长度然后通过 len/2 进行交叉赋值这里需要注意不需要考虑len是奇数还是偶数的问题。如果len是奇数最后一个字符就不需要倒序如果是偶数最后两个字符就倒序。#include stdio.hvoid rechange_str(char *str)
{int i, len;char tmp;if (NULL str) {return ;}len strlen(str);for (i 0; i len/2; i ) {tmp str[i];str[i] str[len-i-1];str[len-i-1] tmp;}
}int main(void)
{char str[20] hello,world;printf(%s\n,str);rechange_str(str);printf(%s\n,str);return (0);
} 程序输出hello,world
dlrow,olleh--------------------------------
Process exited after 0.02841 seconds with return value 0
请按任意键继续. . .#整型转字符串实现逻辑每个整数看其转换进制从个位到十位百位都可以通过%操作加上/操作获得再用一个字符数组保存0-F。用个位数对应值转为字符注意转换出的字符串是反向的,还要考虑传入的若是负数如何处理再用翻转字符串完成最后整个操作下面这段代码需要好好研究一下最好自己运行试试。#include stdio.hchar *sky_itoa(int value, char *str, unsigned int radix)
{char list[] 0123456789ABCDEF;unsigned int tmp_value;int i, j, k;if (NULL str) {return NULL;}if (2 ! radix 8 ! radix 10 ! radix 16 ! radix) {return NULL;}i 0;k 0;if (radix 10 value 0) {tmp_value (unsigned int)(0 - value);str[i ] -;k 1;} else {tmp_value (unsigned int)value;}do {str[i ] list[tmp_value%radix];tmp_value / radix;} while(tmp_value);str[i] \0;//翻转char tmp;for (j k; j (i k)/2; j ) {tmp str[j];str[j] str[i k-j-1];str[i k-j-1] tmp;}return str;
}int main(void)
{int a 1254545;char str[100] {0};printf(%s\n,sky_itoa(a,str,2));printf(%s\n,sky_itoa(a,str,8));printf(%s\n,sky_itoa(a,str,10));printf(%s\n,sky_itoa(a,str,16));return (0);
} 程序输出100110010010010010001
4622221
1254545
132491--------------------------------
Process exited after 0.02963 seconds with return value 0
请按任意键继续. . .#字符串复制实现逻辑逐个赋值直到遇到\0停止即可#include stdio.hchar *sky_strcpy(char *dst, const char *str)
{if (NULL dst || NULL str) {return NULL;}char *ret dst;while (*str ! \0) {*dst *str ;}return ret;
} int main(void)
{char str_1[100] hello,world;char str[100] {0};sky_strcpy(str,str_1);printf(str_1:%s\n,str_1);printf(str:%s\n,str);return (0);
} 程序输出str_1:hello,world
str:hello,world--------------------------------
Process exited after 0.03334 seconds with return value 0
请按任意键继续. . .#字符串比较1、正常比较是否相同 实现逻辑判断字符串长度是否相同若相同逐个比较字符是否相同#include stdio.hint sky_strcmp(char *dst, char *str)
{int i, len;if (NULL dst || NULL str) {return 0;}if (strlen(dst) ! strlen(str)) {return 0;}len strlen(dst);for (i 0; i len; i ) {if (*dst ! *str ) {return 0;}}return 1;
} int main(void)
{char str_1[100] hello,world;char str_2[100] hello,world;char str[100] adfs;printf(%d\n,sky_strcmp(str_1,str));printf(%d\n,sky_strcmp(str_1,str_2));return (0);
} 程序输出0
1--------------------------------
Process exited after 0.02802 seconds with return value 0
请按任意键继续. . .
声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。