10月30周六区区小结

本文介绍了C语言中getchar与scanf函数在处理输入时的区别,强调了getchar在处理行缓冲模式下的作用。同时,文章还探讨了指针的概念,包括如何使用指针变量和解引用操作符来修改变量的值。通过实例展示了如何获取和打印变量的内存地址。内容适合初学者,旨在加深对C语言输入函数和指针的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

别熬夜!
上周所提到的 getchar 和 scanf函数都为输入函数 从缓冲区获取和清理缓存区的问题,这周科班的同学们应该接触到了,比如这道题:

#include<stdio.h>

int main()
{
	int i,n,letter,blank,digit,other;
	char ch;
	letter=blank=digit=other=0;
	
	scanf("%d",&n);
	ch = getchar(); //获取字符
	
	for(i=1;i<=n;i++){
		ch=getchar();
		if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'){
			letter++;
		}else if(ch==' '||ch=='\n'){
			blank++;
		}else if(ch>='0'&&ch<='9'){
			digit++;
		}else{
			other++;
		}
	}
	printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
	
	return 0;
}

注意,此处只能用getchar扫描字符,而不能用scanf,否则scanf则会一并扫描最后的回车
引入这个与我理解相同的人所描述的:


所谓行缓冲模式, 是指一个以回车键作为结束信号,从而结束接受键盘输入过程,并刷新键盘缓冲区,此时缓冲区的内容为 [ .....\n ]
当诸如getchar(),scanf()之类的函数调用时,首先要读取键盘缓冲区, 如果为空则进入行缓冲模式, 行缓冲结束后,依次读取相应字符,getchar()取一个,scanf()按格式取, 之后返回. 如果不空则依次读取相应字符后,之后返回.

初识 地址
Pa  将存放地址的变量  叫做指针变量
&取地址操作符
*pa 解引用操作符,通过pa的地址找到a   *是说明pa是指针变量
可通过*pa=某 重新定义a的值
 

#include <stdio.h>
int main ()
{
	
	int a = 10;
	printf("%p\n",&a);
	int *pa = &a;

	return 0;
}

 以下是我偶然找到的变量指针和地址的总结,在此一起分享下

 以上仅是初识,还需要后续的实践

有错误请指教!

 

内容概要:本文详细介绍了900W或1Kw,20V-90V 10A双管正激可调电源充电机的研发过程和技术细节。首先阐述了项目背景,强调了充电机在电动汽车和可再生能源领域的重要地位。接着深入探讨了硬件设计方面,包括PCB设计、磁性器件的选择及其对高功率因数的影响。随后介绍了软件实现,特别是程序代码中关键的保护功能如过流保护的具体实现方法。此外,文中还提到了充电机所具备的各种保护机制,如短路保护、欠压保护、电池反接保护、过流保护和过温度保护,确保设备的安全性和可靠性。通讯功能方面,支持RS232隔离通讯,采用自定义协议实现远程监控和控制。最后讨论了散热设计的重要性,以及为满足量产需求所做的准备工作,包括提供详细的PCB图、程序代码、BOM清单、磁性器件和散热片规格书等源文件。 适合人群:从事电力电子产品研发的技术人员,尤其是关注电动汽车充电解决方案的专业人士。 使用场景及目标:适用于需要高效、可靠充电解决方案的企业和个人开发者,旨在帮助他们快速理解和应用双管正激充电机的设计理念和技术要点,从而加速产品开发进程。 其他说明:本文不仅涵盖了理论知识,还包括具体的工程实践案例,对于想要深入了解充电机内部构造和工作原理的人来说是非常有价值的参考资料。
### 如何在 ArcMap 中执行缓冲区合并(Union)操作 #### 使用 Buffer 工具创建缓冲区 为了实现缓冲区的创建,在 ArcMap 中可以利用 `Buffer` 工具来完成这一过程。具体来说,通过访问工具箱下的分析工具找到 `Buffer (缓冲区)` 功能[^3]。 ```python import arcpy # 设置工作空间环境 arcpy.env.workspace = "C:/data/your_workspace.gdb" # 输入要素类路径 input_features = "network" output_feature_class = "buffered_network" # 创建缓冲区 arcpy.Buffer_analysis(in_features=input_features, out_feature_class=output_feature_class, buffer_distance_or_field="230 Meters", dissolve_option="NONE") ``` 此代码片段展示了如何设置参数并调用 `Buffer_analysis` 函数以生成指定距离的缓冲区。注意这里的融合选项被设为 `"NONE"` 表明不会立即进行任何类型的融合;这一步骤仅用于生成独立的缓冲多边形对象。 #### 执行 Union 操作 一旦有了单独的缓冲区之后,下一步就是把这些重叠或多部分的几何图形组合成单一特征。为此目的可采用 `Union` 工具: ```python from arcpy import analysis as ana # 定义要联合的对象列表 union_input_layers = ["buffered_network"] # 输出联合后的结果文件名 union_output_layer = "united_buffer_zones" # 调用 Union 方法来进行聚合 ana.Union(in_features=union_input_layers, out_feature_class=union_output_layer, join_attributes="ALL", cluster_tolerance="", gaps="NO_GAPS") ``` 上述 Python 代码说明了怎样配置 `Union` 参数以及实际运行该命令的方式。特别指出的是,当 `join_attributes` 设定为 `"ALL"` 时意味着保留所有原始属性信息;而 `gaps` 参数设定为 `"NO_GAPS"` 则指示不希望最终输出存在间隙区域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值