C语言学习笔记day13—++i、i++的区别以及函数参数

昨天偷懒,今天写多一点吧

++于前后的不同

++i是左值,可以直接对++i赋值,例如++i=3。

i++是右值,不能直接对i++赋值,例如i++=3会报错。

  • ++i是指被加1之后的i,而i++是指i被加1的这一个操作表达式,虽然两者的结果都为1,但是++i的结果是直接返回的加1后的i,而i++返回的是一个新的变量,值为i+1。++i和i++的结果都为1,因为这两者本身在汇编语言中没有任何区别,但是涉及到赋值操作的时候,i++会比++i多一行指令。

a=++i,直接对a赋值++i

a=i++,会申请一个临时空间存储运算之后的值,然后将这个临时值赋值给i。

函数参数

上一篇博客中:创建一个打印一行星号的无参数无返回值函数我们了解到了一个不需要与主函数通信的例子,下面我们来看一个与之不同的函数

上文中,如果文字能居中,信头会更加美观。可以通过打印文字之前打印一定数量的空格实现,这和打印一个数量的星号函数(starbar())类似,所以我们来编写一个更通用的函数,可以在两种情况下使用。

show_n_char(显示一个字符n次)


69f50f71b8f64200a0a138650eab0699.jpg

2ec52dd3e7ba4b40a562828bc16fbb52.jpg


 具体分析:假设可用的空间是40个字符宽。调用show_n_char(* 40)应该正好打印一行40个星号,就像starbar()之前做的那样。第2行G IGATHINK, INT.的空格怎么处理?GIGATHINK, INT.是15个字符宽,所以第1个版本中,文字后面有25个空格。为了让文字居中,文字的左侧应该有12个空格,右侧有13个空格。因此,可以调用 show n char(' ',12)。

show_n_char()与starbar()很相似,但是show_n_char()带有参数。从功能上看,前者不会源加换行符,而后者会,因为show_n_char()要把空格和文本打印成一行。

 

补充:strlen()函数给出字符串中的字符长度

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值