以下程序段实现“字符串变形拷贝”,将源字符串拷贝到目标字符串,并且 将其中的小写字母转换成大写字母,而其它字符保持不变。填写空缺的代码。 要求:不使用string.h中的函数。
程序员文章站
2022-05-28 20:17:21
...
代码为:
#include <stdio.h>
void transCopy(char *dst, const char* src){ // 变形拷贝函数
for( ;*src!='\0';src++,dst++)
*dst = *src>='a'&&*src<='z' ? *src-32 : *src;
*dst = 0;
}
int main( ){ // 此例main函数中的printf应打印: HELLO, WORLD!
char str1[] = "Hello, World!";
char str2[40];
transCopy(str2,str1);
printf("%s\n",str2);
return 0;
}
这题就是没事找事,明明可以用更简单的方法,非要搞一些花里胡哨的东西。我想了好久,除了用string.h中的函数,还有其他的方法吗?我想了好久,没有任何头绪。后面不知道为什么就想到了用三目运算符。我发现三目运算符对这题非常适合,就有了以上代码。希望对没有思路的同学有帮助。
上一篇: OC 圆弧渐变进度条的实现
下一篇: php中的设计模式之--中介模式