c语言a和a的区别是什么,C语言中a++与++a的区别是什么?详细一点,谢谢!

2021-01-11 19:09:14 字数 4970 阅读 1189

1楼:愤怒de翔小果

在函数fx中,形参*b是一个int型指针,而在调用该函数时,b不是指针类型,因为形参和实参类型必须一致,故需在b前加一个&,即&b,表示b的地址。

在这道程序中,首先a=7,b=-4;

第一次进入循环后,a=0,此时调用fx函数,首先将a+a=0值给了c,又通过指针将a值改为3,再将0-3=-3的返回值给了b;

此时a=3,此轮循环结束,a++,a值为4,退出循环;

输出a,b,4,-3,有什么不明白吗

c语言中a++与++a的区别是什么?详细一点,谢谢!

2楼:匿名用户

a++ 是先返回a的值,再执行++运算。

++a 是先执行++运算,在返回a的值。

例如:#include

int main()

3楼:睢辰丁逸秀

a=7a++

先使用a的值,a在自增

++a先自增在使用a的值

b=a++

;//b=7

c=++a;//c=8

4楼:疲惫的龟

a++代表先取值,后运算。

++a代表先运算,后取值。

a=1;

如b = a++;

得b = 1

若b = ++a;

得b = 2

5楼:匿名用户

一个用了再加1,一个先加一再用

c语言中,a 和a[] 有什么区别

6楼:泣富贵塔婵

'a'是一个字符,"a"是两个字符,'a'和'\0'

比如,下面这个例子:

char

a1[1]=;

char

a2[1]=;

前者a1[0]='a',能编译通过

后者编译通不过,因为a2是一个元素的数组,而"a"有两个元素,分别是'a'和'\0'

补充:'aa'这是错误的写法,单引号是字符的引号,它只能引一个字符的"aa"这是正确的写法,双引号是字符串的引号,它有三个字符:'a','a','\0'

7楼:路温柴倩

1、本质区别

双引号里面的是字符串,

而单引号里面的代表字符。

2、输出区别

str=

“a”输出的就是a这个字母;

str=

‘a’输出的测试65

3、底层区别

用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

扩展资料:

c语言是一个有结构化程序设计、具有变量作用域(variablescope)以及递归功能的过程式语言。

c语言传递参数均是以值传递(pass

byvalue),另外也可以传递指针(a

pointer

passed

byvalue)。

不同的变量类型可以用结构体(struct)组合在一起。

只有32个保留字(reserved

keywords),使变量、函数命名有更多弹性。

部份的变量类型可以转换,例如整型和字符型变量。

通过指针(pointer),c语言可以容易的对存储器进行低级控制。

预编译处理(preprocessor)让c语言的编译更具有弹性。

8楼:新来的文盲

a比a少一维,我具体给你解释下。

几个元素可以组成数组,而几个一维数组可以组成二维数组,如此一直增加维数。

比如说a[0]=2,a[1]=1,a[2]=3,组成一个一维数组,这就是a.但是,你要注意,a不是直接把这些东西都存着的,a只存首地址。

假设定义了一个二维数组a[3][3].这时候a[0],a[1],a[2]就不再是元素了,而代表的是一个有三个元素的一位数组,而此时的a就是一个二维数组。如果感觉这个有点困难没关系,等学习了指针什么的久很好理解这个了。

再说说你给的程序,你是不是在疑问为什么gets()直接给str1 就可以了?还有那个输出函数,为啥只用给str1就可以?

这得给存储方式有关,字符串就是字符的二维数组,gets()需要输入字符串的首地址,这个还算好理解,因为你应该学过了scanf()了,二者差不多,关键是为什么输出函数直接就写了str1呢?printf()之前你学的一般都是(printf("%d",a[1]));这种类型的。这里为啥要填一个地址参数呢?

这是因为你前面是%s s代表字符串,字符串本身就是二维的,因此,你当然不能只给他一个单独的元素了,那么,你给了首地址他如何知道你这个字符串是啥呢?因为字符串都是顺序存储的,更重要的是字符串在结尾处有个标志“/0”,因此,你只要给力他首地址,他就知道从**开始,从**结束了。

纯手打,望采纳。

9楼:司空曼华郎霜

引号引起来说明是字符。

不因起来说明是变量名。

printf("%c",a);

printf("%d",'a');比较两者的区别。

上面是a的变量内容。

而下面是a的ascii码,97.

10楼:樊成仵辰

在c语言中,

1.单引号是字符的意思:‘a’,a就是一个字符;

2.双引号就是

字符串的意思:”abd“就是一个字符串。

11楼:鄞兰英裔娴

定界符不同,字符常量用的是单直撇,字符串常量则用双引号长度也不同,字符常量只能有一个字符,也就是说字符常量长度为一,而字符串常量可为0,也可为任意数。即使字符串常量字符数量为一,长度也不是一。

例如,字符串常量"h"(这手机没双引号)

则长度为2,字符就是h\0

12楼:匿名用户

an和a的区别,用法区别

13楼:匿名用户

char str1[5]; //表示定义了一个字符数组,即可以对应存储str1[0]-str1[4]个字符

gets(str1);//单独使用了str1,str1是数组的名称,代表了数组的起始地址,调用gets()函数时参数应该是地址值str1

printf("%s\n",str1);// 输出格式控制为%s,表示输出字符串,如果要输出一个连续的字符串,后面应该使用地址str1;如果格式控制字为%c,表示输出单个字符,这时候就应该是str1[0]或其他

14楼:匿名用户

char str1[5]; 表示声名一个数组,其长度为5(也就是所它最多能容纳5个char型元素)

gets(str1);获取用户的输出,注意不要超过4个字符,否则就会数组越界。其中的str1其实就是数组的地址。gets的函数原型为char *gets(char *s);其功能就是将用户的输入存入str1的数组中。

printf("%s\n",str1);将str1中的内容打印出来。

int a[5]表示声名一个数组。而a就是这个数组的地址(也是数组第一个元素的地址)。

15楼:匿名用户

a表示的是存储数组a[..]的首地址,而a[..]表示的是这个字符的值。

拿旅店比喻:你住在302房。

那么a就表示302这个门牌号,而a[..]就表示你。假设服务员要叫你吃饭,就得先找到302这个房间,然后再把你请到大厅吃饭。

操作系统无论是存储数据还是读取数据,都是先找到数据的首地址!

16楼:匿名用户

像程序里面的str1[5]表示一个长度为5的字符数组,str1表示数组的首地址,也是第一个元素的地址

17楼:匿名用户

名字指的的 a的首地址

a == &a[0];

这两个都表示同样的地址。

c语言中'a'和"a"有什么区别?

18楼:哇哎西西

1、本质区别

双引号里面的是字符串, 而单引号里面的代表字符。

2、输出区别

str = “a”输出的就是a这个字母;

str = ‘a’输出的测试65

3、底层区别

用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

19楼:高金山

'a'是一个字符,"a"是两个字符,'a'和'\0'

比如,下面这个例子:

char a1[1]=;

char a2[1]=;

前者a1[0]='a',能编译通过

后者编译通不过,因为a2是一个元素的数组,而"a"有两个元素,分别是'a'和'\0'

补充:'aa'这是错误的写法,单引号是字符的引号,它只能引一个字符的"aa"这是正确的写法,双引号是字符串的引号,它有三个字符:'a','a','\0'

20楼:周肆爻

定界符不同,字符常量用的是单直撇,字符串常量则用双引号长度也不同,字符常量只能有一个字符,也就是说字符常量长度为一,而字符串常量可为0,也可为任意数。即使字符串常量字符数量为一,长度也不是一。

例如,字符串常量"h"(这手机没双引号)

则长度为2,字符就是h \0

21楼:匿名用户

在 c 语言中,

1.单引号是字符的意思:‘a’,a就是一个字符;

2.双引号就是 字符串的意思:”abd“就是一个字符串。

22楼:匿名用户

'a'是字符,在内存中表示为0x61,存储空间为1个字节

"a"是字符串,在内存中表示为 0x61 0x00 ,存储空间为2个字节

23楼:匿名用户

楼上的回答很好!!!

对于字符和字符串没什么好解释的!!!

建议采纳楼上的回答.

另外,回去多看看书,多练习!!!

24楼:摘一把青梅煮酒

字符串有结束符 \0

C语言a b和a b的区别,C语言,++a+b和++b+a有什么区别

1楼 匿名用户 自增对象不同 a b 最后自增的是b a b 最后自增的a b c语言, a b和 b a有什么区别 2楼 珑月三 a b是先a加1,然后再加b b a是先b 1,然后再加a 3楼 亱風 a b是a先自加然后加b b a是b自加,,然后加a 结果一样,但是a 和b的值不相同 c语言b...

a+1和(a+1)有什么区别,c语言中,&a+1和&(a+1)的区别是什么

1楼 匿名用户 语句中,b a 1 指针a 指向的数值加1, a 是数值 b 等于 那个数值 加 1。 或 把a看成数组元素 b a 0 1 a 1 指针 a 1 指向的数值b a 1 可以看成数组元素 b a 1 2楼 匿名用户 an和a的区别,用法区别 java中 a a 1 和a 1 有什么区...

C语言中,a b与b a有什么区别么

1楼 匿名用户 没区别, 是恒等于,不存在赋值问题,单纯比较,怎么写都行,但是 号就不一样了,是右边赋值给左边 2楼 育知同创教育 写法几乎没有什么区别。前后顺序不影响的。 3楼 匿名用户 双等号 是比较运算符, 没有什么区别 4楼 幻世封神 没什么区别,看个人习惯了 请采纳吧 5楼 研凌工控电脑 ...