课上的程序补充

#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
请按任意键继续. . .

这样更方便!

小感悟:自己不懂得太多了,还需要自己找题练习,练习才能知道自己哪些没掌握!

posted @ 2017-03-31 19:27  Dragon.Yu  阅读(180)  评论(0编辑  收藏  举报