栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c语言学习记录——无主题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c语言学习记录——无主题

1 交换数组
#include

void my_printf(int arr[],int sz) {//对数组的输出
	int i = 0;
	for (i = 0;i < sz - 1;i++) {
		printf(" %c ",arr[i]);
	}
}

void reserver(int* arr, int sz) {//交换数组元素
	int a = 0;
	int* tep = &a;//创建工具指针
	int *left = arr;
	int* right = arr + sz-2;
	while (left < right) {
		*tep = *right;
		*right = *left;
		*left = *tep;
		left++;
		right--;
	}
}

int main() {
	int arr[10] = { 'a','b','c','d','e','f','g','h','i',''};
	int sz = sizeof(arr) / sizeof(arr[0]);
	reserver(arr,sz);
	my_printf(arr,sz);
}

 

//另外的交换数组,参数为数组
void reserver(int arr[], int sz) {
	int left = 0;
	int right = sz - 2;
	while(left 

调试过程:

①对于工具指针未进行初始化,造成读取时访问空间冲突

②未进行循环变量的改变,死循环了

③int *right=arr+sz-1,会不完全输出少一个a。

④int* right=arr+sz,此时指针right 为野指针,超出了数组的长度

⑤若arr数组,内容为整型数字,则带有sz的表达式都在基础上再减去1。

2sizeof()  返回类型是无符号整型

#include

//关于sizeof()返回的类型是无符号整型
int i;
int main() {
	i--;
	printf("%dn", i);
	printf("%dn", sizeof(i));
	if (i > (int)sizeof(i)) {//结果强制转换成整型
		printf(">n");}
	else{
		printf(" sizeof(i)) {//正常结果
		printf(">n");}
	else {
		printf(" 

 

 调试过程:

①无符号整型进行比较会将结果强制转换成无符号整型,可以强制转换回整型

3

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号