这是课上做的程序及结果//课下来不及用电脑做所以该用手机打出来的
错误的原因是不能直接对str做更改
#include<stdio.h> void funstr(char *str) { *str=*str-32; while(*str!='\0') { if(*str==32) *(str+1)=*(str+1)-32; printf("%c",*(str++)); } } int main() { char str[]={"hello world"}; funstr(str); printf("%s",str); }
运行结果:
Hello WorldHello World
--------------------------------
Process exited after 0.1232 seconds with return value 0
请按任意键继续. . .
总结:经同学辅导之后成功输出结果 虽然还有点记不住 我再多练练 大概理解就是定义一个函数funstr然后再设定一个str的指针 用while循环将地址利用ASCII之间相差32来定义新的地址 完成大小写的转换