小程序写得都不顺,手有些生了

来源:互联网 发布:创新国度软件 编辑:程序博客网 时间:2024/03/29 01:55

突然想到一个大小写字母转换的问题,于是动手写了一下。反复调试修改了好几次才写好,真是对自己不满!

这种几乎只有在笔试的时候会做到的题,居然。。。笔试的时候可是没有调试工具的!如果没依赖调试工具,估计就过不了了!!

代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *Convert(char *strIn)
{
 //int i=0;
 char *strOut=(char*)malloc(strlen(strIn)+1);//记得分配空间!记得strlen跟sizeof区别,考虑'/0'
 memset(strOut,0,strlen(strIn)+1);//记得初始化!
 strcpy(strOut,strIn);
 char *p=strOut;
 while(*p)//!='/0')//注意区别while(p)与while(*P)的区别。如果用前者会溢出的,这种写法只有在判断链表节点时用,因为明确结尾    有个空指针结束。
 {
  if(*p>65&&*p<90)//记住重要的ASCII码 65 97等等。。
   *p=char(*p+32);
  p++;
 }
 return strOut;
}
int main()
{
 char str[]="I am a GOOD student!";
 char* temp=Convert(str);
 printf("%s/n",temp);
 free(temp);//added,这个很容易忘记的,笔试经常会注意看这个! 记住有malloc就有free!!!
 //printf("%d/n",sizeof("abc"));
 return 0;
}