C程序设计
gcc、gdb
整数/整数=整数,浮点数/浮点数=浮点数,整数-浮点数=浮点数
变量在未赋值之前的值是不确定的。特别地,它不一定等于0.
n++会使用加1前的值计算表达式,++n会使用加1后的值计算表达式
比较大的数组尽量声明在main函数外,否则程序可能无法运行
fgetc(fin)读取一个打开的文件fin,读取一个字符,返回一个int值,如果要从标准输入读取一个字符,可以用getchar,等价于fgetc(stdin),fgets(buf,maxn,fin)读取完整的一行
调用栈(Call stack)描述 函数之间的调用关系,调用栈由栈帧(Stack Frame)组成,每个栈帧对应着一个未运行完的函数,在gdb中可以用backtrace命令打印所有栈帧信息。若要用p命令打印一个非当前栈帧的局部变量,可以用frame命令选择另一个栈帧
把数组作为参数传递给函数时,实际上只有数组的首地址作为指针传递给了函数,需要另加一个参数表示元素个数
【C程序设计】若p是指针,k是正整数,p+k就是指针p后面第k个元素,p-k是p前面的第k个元素
#include
#include
#define INF 1000000000
#definr maxn 105
int main()
{
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
int a,b,n=0,m,min=INF,max=-INF,x;
FILE *fin,*fout;
fin = fopen("data.in","rb");
fout = fopen("data.out","wb");
while(fscanf(fin,"%d",&x)==1 && n)
fprintf(fout,"%d %d",min,max);
fclose(fin);
fclose(fout);
scanf("%d%d",&n,&m);
a = (4*n-m)/2;
b = n-a;
if (m%2 ==1 || a<0 ||b<0)
printf("No answer\n");
else
printf("%d %d\n",a,b);
for(int i=1;
i<=n;
i++)
{
printf("%d\n",i);
if (i<10) continue;
if (i>100) break;
}long long n1 = n;
int count=0
while(n>1)
{
if (n%2==1) n=n*3+1;
else n/= 2;
count++;
}int f = floor(sqrt(n)+0.5);
printf("time used = %.2f\n",(double)clock()/CLOCKS_PER_SEC);
int a[maxn];
while(scanf("d",&x)==1)
a[n++]=x;
int b[maxn][maxm];
tot = b[x=0][y=n-1] =1;
char s[20];
scanf("%s",s);
if(strchr(s,"a"))
sprintf(s[strlen(s)-1]);
struct Point{double x,y;
};
double dist(struct Point a,struct Point b)
{
return hypot(a.x-b.x,a.y-b.y);
}typedef struct{double x,y;
}Point;
double dist(Point a,Point b)
{
return hypot(a.x-b.x,a.y-b.y);
}return 0
}#include
void swap(int*a,int*b)//用int*a声明的变量a是指向int型变量的指针
{
int t =*a;
*a=*b;
*b=t;
}
int main()
{
int a=3,b=4;
swap(&a,&b);
//变量名前面加&得到的是该变量的地址
printf("%d %d\n",a,b);
return 0;
}
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」