C语言中的strupr和strlwr函数

如图,程序哪里出了问题,为什么不能用strupr把字符串变为大写呢?

C语言中,strlwr函数和strupr函数的用法都是直接传入字符串调用,strlwr函数的作用是将字符串参数转换为小写形式。strupr函数的作用是将字符串参数转换为大写形式。

1、strlwr函数

原型:extern char *strlwr(char *s);

用法:#include <string.h>

功能:将字符串s参数转换为小写形式

说明:只转换s参数中出现的大写字母,不改变其它字符。返回指向s参数的指针。

兼容性说明:strlwr和strupr不是标准C库函数,只能在VC中使用。linux gcc环境下需要自行定义这个函数。

2、strupr函数

原型:extern char *strupr(char *s);

用法:#include <string.h>

功能:将字符串s转换为大写形式

说明:只转换s中出现的小写字母,不改变其它字符。返回指向s的指针。

兼容性说明:strupr不是标准C库函数,只能在VC中使用。在linux gcc环境下需要自行定义这个函数。

扩展资料:

C语言常用函数:

1、int abs(int i):返回整型参数i的绝对值。

2、double cabs(struct complex znum):返回复数znum的绝对值。

3、double fabs(double x):返回双精度参数x的绝对值。

4、long labs(long n):返回长整型参数n的绝对值。

5、double exp(double x):返回指数函数ex的值。

6、double frexp(double value,int *eptr):返回value=x*2n中x的值,n存贮在eptr中。

7、double ldexp(double value,int exp):返回value*2exp的值。

8、double log(double x):返回logex的值。

9、double log10(double x):返回log10x的值。

10、double pow(double x,double y):返回x^y的值。

参考资料来源:百度百科-strlwr
参考资料来源:百度百科-strupr

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-21
分两行写就好了
传入printf的只是一个地址,这两个函数都是在这个地址上操作的
于是先转为大写,再转为小写
printf拿到的地址都是同一个,也就是转为小写后的追问

请问为什么这么写成一行不对呢?

追答

写成一行 和以下代码效果是一样的
strupr(s1);
strlwr(s1);
printf("%s\n%s\n", s1, s1);
这个就是写一行时真实的执行顺序

本回答被提问者和网友采纳
第2个回答  2019-07-21
低要多少分
相似回答