课上的程序补充
#include<stdio.h> void funstr(char *p) { *p=*p-32; *(p+6)=*(p+6)-32; printf("%s\n",p); int i; for(i=0;i<12;i++) printf("%c",*(p++)); } int main() { char str[]="hello world!"; funstr(str); }
Hello World! Hello World! -------------------------------- Process exited after 0.118 seconds with return value 33 请按任意键继续. . .
课上的程度:就差如何将小写改成大写,一开始无从下手,都不知道该怎么换!
课下的努力:问了同学怎么写的,然后看了课本字符数组那块知识才知道原来字符数组在内存中是以ASCII码值来传出的!那么大写和小写字间就差32.这样便可以把某个位置的大写转为小写!
总结:上学期C语言没有认真学,到练习时就出现了很多问题!但是我也一直在补习,把落下的都赶上!
本程序如果是少量的字符串可以改,如果字符较多就麻烦了!但是我并没有想出来怎么才能更容易修改多的字符!请教了同学后,自己尝试了编程!代码如下:
#include<stdio.h> void funstr(char *p) { *p=*p-32; while(*p!='\0') { if(*p==32) *(p+1)=*(p+1)-32; printf("%c",*(p++)); } } int main() { char str[]="hello world!"; funstr(str); }
运行结果:
Hello World!
--------------------------------
Process exited after 0.1073 seconds with return value 0
请按任意键继续. . .
这样更方便!
小感悟:自己不懂得太多了,还需要自己找题练习,练习才能知道自己哪些没掌握!