C语言——易错点1——初始化方式

1.C语言的初始化:int s[]=”abcd”或者int s[10]=”abcd”都是可以的,
但是char s[10];s=”abcd”就不可以了!原因如下:
因为,在char s[10];这个时候,计算机就给数组s内存地址,假设该地址叫做A;接着,s[10]=”abcd”;这个”abcd”计算机也会给它分配内存地址,假设地址叫做B;那么这就与前面的A地址冲突了。所以C语言中不可以这样子赋值!

2.在定义结构体变量时不允许对它赋初值。错误
(赋初值:初始化的同时给其赋值。)
如:以下,我们就定义了一个叫做book的结构体,顺带在定义结构体变量book1时,给它赋值。在这里插入图片描述
3.在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4.int a=1,b=2,c=3;if(a<c)b=a;a=c;c=b;则c的值为:
解析:代码可以看成:
在这里插入图片描述
这样子就醒目很多啦,当if条件成立时,c值为1;if 条件不成立时,c为2;(该题是a>c,假命题)

5.固化思维,让位一下子就以为输出是,空格空格1空格空格2
结果,又是想当然,结果是,空格空格1空格空格2空格空格3在这里插入图片描述
代码解析:首先,我们在主函数定义了num并赋值为0;因为num=0小于等于2,满足while条件循环,进入循环体:
num自增,接着打印3个字符出来,不满三个用空格补上,所以这里就打印两个空格还有1;即打印出 空格空格1
接着判断,num=1小于等于2成立,进入循环体,同上操作,打印出空格空格2

再次判断,num=2小于等于2成立进入循环体,num自增1,然后再次打印空格空格3,
判断:num=3小于等于2显然不成立,所以不进入循环体,整个函数执行完毕。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值