`

2.8 自增和自减运算符

 
阅读更多

2.8 自增和自减运算符

1) if (c ==‘\n’)

++nl ;

注意:1 这种运算符可以放在变量a的前面或者后面,针对变量a效果都是一样的,将a的值加1.

#include "stdio.h"

main()

{

inta = 065;

printf("%d\n", - -a); //先把a的值减1,然后再使用,输出

//先执行了a=a-1,又执行了a输出

getchar();

}

有问题的代码:

#include"stdio.h"

/* squeeze(s,c) 函数,删除字符串s中出现的所有字符c*/

void squeeze(chars[],int c)

{

int i,j;

for(i=j=0;s[i]!='\0';i++)

if(s[i] != c)

s[j++]=s[i];

s[j]='\0' ;

}

/*遍历数组*/

void allover(char a[])

{

int i;

// for(i=0;i<sizeof( s )/sizeof( s[0]);i++)

//puthcar(s[i]);

// printf("%c",s[i]) ;

printf("%d", sizeof( a )/sizeof(a[0] ) );

// printf("%d",sizeof(s));

//printf("%d",sizeof(s[0])) ;

//printf("\n");

}

main() 两段代码的结果为什么不一样

{

char s[]="ssssssss";

allover(s);

printf("%d",sizeof( s )/sizeof( s[0] ) );

// squeeze(s,'s');

// allover(s);

getchar();

}

/*sizeof(array)/sizeof(array[0]),array可以是任何类型的数组*/

抽象总结出来的问题如下:

voidallover(char a[]) 因为a在这里被当做指针类型,存储的是数组第一个元素的地址,属于指针类型!,打印出4个字节大小

{

printf("%d", sizeof( a )/sizeof(a[0] ) );

}

main()

{

char s[]="ssssssss";

allover(s);

printf("%d", sizeof( s )/sizeof(s[0] ) );

}两段代码的结果为什么不一样?


分享到:
评论

相关推荐

    《C程序设计语言》(非扫描.新版)

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12运算符优先级与求值次序 第3章 控制流 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 3.5 whil循环与...

    C程序设计语言

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第3章 控制流 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 3.5 whil循环...

    C程序设计语言第2版新版[PDF]

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第3章 控制流 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 3.5 whil循环...

    C程序设计语言_第2版(带书签目录)

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第三章 流控制 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 ...

    C程序设计语言[第2版].pdf

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第3章 控制流 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 3.5 whil循环...

    C程序设计语言(第2版·新版中文)

    2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第3章 控制流 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 3.5...

    学通Java的24堂课

    3.6.3 自增和自减运算符 76 3.6.4 比较运算符 76 3.6.5 逻辑运算符 77 3.6.6 位运算符 78 3.6.7 三元运算符 80 3.6.8 运算符优先级 81 3.7 编码规范 81 3.8 照猫画虎——基本功训练 82 3.8.1 基本功训练1...

    C++大学教程,一本适合初学者的入门教材(part2)

    2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 2.15 for结构使用举例 2.16 switch多项选择结构 2.17 do/while重复结构 2.18 break和continue语句 2.19 逻辑运算符 2.20 混淆相等(....

    C++大学教程,一本适合初学者的入门教材(part1)

    2.12 自增和自减运算符 2.13 计数器控制循环的要点 2.14 for重复结构 2.15 for结构使用举例 2.16 switch多项选择结构 2.17 do/while重复结构 2.18 break和continue语句 2.19 逻辑运算符 2.20 混淆相等(....

    现代C++程序设计

    2.6.7 自增运算符和自减运算符 2.6.8 复合赋值运算符 2.7 #define、const和数据类型转换 2.7.1 #define预处理指令 2.7.2 const修饰符 2.7.3 const比#define好吗 2.7.4 数据类型转换 2.8 关于键盘输入和屏幕输出的...

    【全新正版】现代C++程序设计(原书第2版)

    2.6.7 自增运算符和自减运算符 2.6.8 复合赋值运算符 2.7 #define、const和数据类型转换 2.7.1 #define预处理指令 2.7.2 const修饰符 2.7.3 const比#define好吗 2.7.4 数据类型转换 2.8 关于键盘输入和屏幕输出的更...

    C语言程序设计标准教程

    第二章: 数据类型、运算符、表达式 C语言的数据类型  在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用。对变量的说明可以包括三个方面: ?数据类型 ?存储类型 ?作用域  在本课...

    21天学通Java-由浅入深

    47 3.1.4 “/”:除法运算符 48 3.1.5 “%”:求余运算符 48 3.2 自增自减运算符 49 3.3 关系运算符 51 3.3.1 “==”、“!=” 51 3.3.2 “&gt;”、“&lt;”、“&gt;=”、“” 52 3.4 逻辑运算符 53 3.4.1 “&&”:与运算符 ...

    南阳理工学院PHP编程讲义.rar

    5.4.7 自增(自减)运算符··87 5.4.8 字符串连接运算符······88 5.4.9 运算符的优先顺序和结合规则······ 89 第6 章PHP 的基本控制语句···· 90 6.1 表达式····90 6.1.1 简单表达式··90...

    C++大学教程

    2.12 自增与自减运算符-------------------------------------------------58 2.13 计数器循环的要点-------------------------------------------------60 2.14 for重复结构---------------------------------...

    你必须知道的495个C语言问题

    3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar()) != EOF && c != ’nn’) 的代码⋯⋯ . . . . . . . . . . . . . . . . . . 14 3.7 我怎样才能理解复杂表达式?“序列点” 是什么? . . . . . . . . ....

    C语言FAQ 常见问题列表

    o 4.6 可是 && 和 || 运算符呢?我看到过类似 while((c = getchar()) != EOF && c != '\n') 的代码 …… o 4.7 我怎样才能理解复杂表达式?``序列点" 是什么? o 4.8 那么, 对于 a[i] = i++; 我们不知道 a[] 的哪...

    你必须知道的495个C语言问题(PDF)

    3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar()) != EOF && c != ’nn’) 的代码⋯⋯ . . . . . . . . . . . . . . . . . . 14 3.7 我怎样才能理解复杂表达式?“序列点” 是什么? . . . . . . . . ....

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

Global site tag (gtag.js) - Google Analytics