if switch while for
C语言中:0代表假,非0代表真
分支:
else不能独立存在且总是与它最近的if匹配
为避免将==写成=带来的逻辑错误,将x=value写成value=x(这种写法编译不通过)
循环:
continue只能用于switch,break可以用于break和循环
一般函数设计:
在函数中分配资源 执行函数语句 释放资源退出函数(先free再return)
一个入口,一个出口
#include <stdio.h>
#include <malloc.h>
int func(int n)
{
int i = 0;
int ret = 0;
int* p = (int*)malloc(sizeof(int) * n);
do
{
if( NULL == p ) break;
if( n < 0 ) break;
for(i=0; i<n; i++)
{
p[i] = i;
printf("%d\n", p[i]);
}
ret = 1;
}while(0);
free(p);
return ret;
}
int main()
{
if( func(10) )
{
printf("OK");
}
else
{
printf("ERROR");
}
}
而不是这样
#include <stdio.h>
#include <malloc.h>
int func(int n)
{
int i = 0;
int ret = 0;
int* p = (int*)malloc(sizeof(int) * n);
if( NULL == p ){
free(p);
return 0;
}
if( n < 0 ) {
free(p);
return 0;
}
for(i=0; i<n; i++)
{
p[i] = i;
printf("%d\n", p[i]);
free(p);
return 0;
}
ret = 1;
return ret;
}
int main()
{
if( func(10) )
{
printf("OK");
}
else
{
printf("ERROR");
}
}
谢谢

浙公网安备 33010602011771号