C语言使用过程中遇到的问题

1、如果想要通过函数修改全局变量的值,那么形参不能和全局变量的名字相同,否则达不到修改的目的。在这里可以使用指针。

2、今天在linux(fedora)下写操作文件的程序,但是文件中第一次写入时有数据,在以后就没有数据了,总是找不到原因。头的一句话惊醒我了,我没有关闭文件。网上文章说,linux下不用关闭文件,系统会自动将缓冲区中的数据写入到文件中。但个人觉得还是写上好,万一遇上今天的情况那不就,,,

3、在进行socket编程时,进行下次连接之前首先需要关闭当前连接,然后再新建socket标识符,重新连接服务器。在这里如果重新建立socket标识符,但是没有关闭以前的标识符的话也不能连接。现在还不明白是怎么回事,留待以后解决。或者某位读者给我写下也可。O(∩_∩)O

4、出现了“double free or corruption (top)..."这样的错误。在百度、谷歌以后,都说是重复free问题。仔细查看代码以后,发现原来是文件指针问题。在循环体外创建了一个文件指针并打开。在一次运行以后正确关闭。但是当第二次运行时仍然会close文件,问题就出在这,关闭不存在的文件。

5、二叉树的先序、中序、后序遍历是按照根结点来定义的。即,如果先遍历跟结点,那么就是先序遍历。

6、break的作用范围(退出一层循环)

代码1:

int main(void)
{
	int i = 0;
	
	while(1)
	{
		i++;
		
		if(16 == i)
		{
			break; //break以后直接跳出while循环
		}
	}

	printf("End of function\n");

	return 0;
}
代码2:

int main(void)
{
	int i = 0;
	
	while(1)
	{
		i++;
		
		switch(i)
		{
		case 1:printf("1\n");
		case 2:printf("2\n");
		case 3:break; //break只是结束switch并不能跳出while循环
		case 4:
		case 5:i = 0;printf("2345\n");
		}
	}

	printf("End of function\n");

	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值