c语言注意事项

来源:互联网 发布:联通电视盒子破解软件 编辑:程序博客网 时间:2024/04/28 15:03
#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>//c语言注意事项//toupper(str); extern int toupper(int c);//tolower(str);//大小写转换void UpperCase(char str[]){size_t i=0;for(i=0;i<strlen(str)/sizeof(str[0]);++i){if('a'<=str[i]&& str[i]<='z'){str[i]-='a'-'A';}}}void LowercCase(char str[]){size_t i=0;for(i=0;i<strlen(str)/sizeof(str[0]);i++){str[i]=tolower(str[i]);}}void test(char str[100]){printf("test=%d\n",sizeof(str));//数组退化为指针 4}//big_endian =0,little_endian=1 x86小端int checkCPU(){union w{int a;char b;} c;c.a=1;return c.b==1;}int sum(int n){return ((long)1+n)*n/2;}int sum2(int n){return (1l+n)*n/2;}int sum3(int n){long sum=0;int i=0;for(i=1;i<=n;i++){sum+=i;}return sum;}//在c语言中声明不能放在scanf printf()函数后。否则会报错int main(){int n;char str[]="abcDE";int a[5]={1,2,3,4,55};int *ptr=(int*)((&a)+1);//移动距离sizeof(a)=5,一个数组的偏移char * s="AAA";//这个声明有错,应该是 const char * s="AAA";void *p=malloc(100);char h[100]={10};//这个只是赋值h[0]=10而已char l[100];memset(l,10,sizeof(l));//声明数组元素后记得使用memset初始化为0printf("%s\n",s);printf("*p=%d\n",sizeof(p));//指针的大小为4test(str);//s[0]='B';//对常量进行操作出错printf("checkCPU=%d\n",checkCPU());printf("sum=%d\n",sum(10));printf("sum2=%d\n",sum2(10));printf("sum3=%d\n",sum3(11));printf("%d,%d\n",*(a+1),*(ptr-1));//2,55 移动距离sizeof(int*)=1printf("%s   len=%d  strlen=%d \n",str,sizeof(str)/sizeof(str[0]),strlen(str));//长度加以一UpperCase(str);printf("%s\n",str);LowercCase(str);printf("%s\n",str);scanf("%d",&n);fflush(stdin);return 0;}

一、 一些注意事项

1、出现段错误时,首先应该想到段错误的定义,从它出发考虑引发错误的原因。

2、在使用指针时,定义了指针后记得初始化指针,在使用的时候记得判断是否为NULL。

3、在使用数组时,注意数组是否被初始化,数组下标是否越界,数组元素是否存在等。

4、在访问变量时,注意变量所占地址空间是否已经被程序释放掉。

5、在处理变量时,注意变量的格式控制是否合理等。


0 0
原创粉丝点击