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] ) );
}两段代码的结果为什么不一样?
分享到:
相关推荐
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循环与...
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循环...
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循环...
2.8 自增运算符与自减运算符 2.9 按位运算符 2.10 赋值运算符与表达式 2.11 条件表达式 2.12 运算符优先级与求值次序 第三章 流控制 3.1 语句与程序块 3.2 if-else语句 3.3 else-if语句 3.4 switch语句 ...
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循环...
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...
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...
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 混淆相等(....
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 混淆相等(....
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 关于键盘输入和屏幕输出的...
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语言的数据类型 在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用。对变量的说明可以包括三个方面: ?数据类型 ?存储类型 ?作用域 在本课...
47 3.1.4 “/”:除法运算符 48 3.1.5 “%”:求余运算符 48 3.2 自增自减运算符 49 3.3 关系运算符 51 3.3.1 “==”、“!=” 51 3.3.2 “>”、“<”、“>=”、“” 52 3.4 逻辑运算符 53 3.4.1 “&&”:与运算符 ...
5.4.7 自增(自减)运算符··87 5.4.8 字符串连接运算符······88 5.4.9 运算符的优先顺序和结合规则······ 89 第6 章PHP 的基本控制语句···· 90 6.1 表达式····90 6.1.1 简单表达式··90...
2.12 自增与自减运算符-------------------------------------------------58 2.13 计数器循环的要点-------------------------------------------------60 2.14 for重复结构---------------------------------...
3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar()) != EOF && c != ’nn’) 的代码⋯⋯ . . . . . . . . . . . . . . . . . . 14 3.7 我怎样才能理解复杂表达式?“序列点” 是什么? . . . . . . . . ....
o 4.6 可是 && 和 || 运算符呢?我看到过类似 while((c = getchar()) != EOF && c != '\n') 的代码 …… o 4.7 我怎样才能理解复杂表达式?``序列点" 是什么? o 4.8 那么, 对于 a[i] = i++; 我们不知道 a[] 的哪...
3.6 可是&& 和|| 运算符呢?我看到过类似while((c = getchar()) != EOF && c != ’nn’) 的代码⋯⋯ . . . . . . . . . . . . . . . . . . 14 3.7 我怎样才能理解复杂表达式?“序列点” 是什么? . . . . . . . . ....
{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} {...