C语言的一些小细节

2024-01-19 11:46:59 浏览数 (1)

1.关于数组

int arr[10]={0};显而易见这是一个典型的数组,但要注意便是[ ]中一定得是常量,常量,常量!!

const int a=0;这是一个常变量,刚开始使用数组时最常犯的错误便是将常变量当作变量放进数组之中。

2.输入,输出函数所返回的值

scanf函数的返回值等于你输入进去的数据个数。

如:int a=0,b=0;printf("%d",scanf("%d %d",&a,&b));

这串代码就会在你输入两个整型数据后在你的屏幕上打印2,我们可以根据这一特性实现有多组数据的输入,直到没有数据输入,循环停止。如:while(scanf("%d %d",&a,&b)==2).这串代码的含义便是只要有两个整型数据输入进来,那么循环便能够进行。

printf函数的返回值等于打印出的字符个数。

如:printf("%d",printf("Hello world"));

这串代码就会在你的屏幕上打印一个Hello world11,因为这串字符一共有10个字母,1个空格,共11个字符。

3..指针变量的大小

指针变量的大小并不是固定的。为什么呢?首先我们得明白,指针变量的功能是存放数据的地址,而地址的大小又跟我们的处理器挂钩,如果我们是64位的处理器,那么在存放地址的时候,我们就会使用64个比特位来存放,因此这时的指针变量大小便是8个字节,同理可得,32位处理器上的指针变量大小便是4个字节。

4.if,else

if,else两个孪生函数,它们要注意的便是在正常情况下,它们只执行条件满足后的第一行代码。因此,要想要让它们实现在满足条件后执行多条代码,我们应该加上花括号,这边建议无论有没有需要,都应该在if,else后面加上花括号,这不仅可以增加代码的可读性,还可以方便后续内容的增加。

if,else它们两个的互相匹配在没有括号阻拦的情况下是会找的最近进行匹配。

5.switch和break

switch函数中必不可少的便是break。比方说这串代码:

代码语言:text复制
switch(a)
 {
     case 1:
     printf("1n");
     case 2:
     printf("2n");
     case 3:
     printf("3n");
     case 4:
     printf("4n");
 }

我们要实现的应该a如果为1,则在屏幕上打印1,为2则在屏幕上打印2......而现在由于没有了break这个关键函数,当a为1时,程序并不会如我们所愿只打印出1,它会打印出1(换行)2(换行)3(换行)4(换行)这样的东西。建议在每一个分支底下(如果没有特殊要求)都加上break,即使是最后一个分支也加上,这样的话等到下次你再对这个switch函数进行补充的时候就可以直接放心大胆地往下输入。

再提一个需要注意的点,break函数只能跳出一层switch,同理它只能跳出一层循环。

今天的分享就先到这里,感谢大家的观看,祝大伙前程似锦。

0 人点赞