c语言中(a)和a有什么区别?

作者&投稿:尤陆 (若有异议请与网页底部的电邮联系)
c语言'a'和"a"有什么区别~

1、本质区别
双引号里面的是字符串, 而单引号里面的代表字符。
2、输出区别
str = “a”输出的就是a这个字母;
str = ‘a’输出的测试65
3、底层区别
用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

扩展资料:
C 语言中,逗号(,)也可以是运算符,称为逗号运算符(Comma Operator)。逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式,称为逗号表达式。其一般形式为:
子表达式1, 子表达式2, ..., 子表达式n
例如:a + b, c = b, c++
逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。
逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。
参考资料来源:百度百科-C语言

没区别,==是恒等于,不存在赋值问题,单纯比较,怎么写都行,但是=号就不一样了,是右边赋值给左边

一般是没有区别的,尤其是你把他单独提取出来。C语言中()只有两种作用,一个是作为函数或强制转化的标志,如果(a)前面是个函数名的话,那就表示a是作为那个函数的实参。另一个是作为运算符,能提高里面的运算优先级,把里面的表达式优先算出来,在这里,单独的(a)与a没有区别。

其实没啥区别,(a)是把a显示的分离处理形成一个表达式,要说区别主要体现在宏定义中
#define test(a) (a*a)
#define test1(a) ((a)*(a))

使用中如果a=2之类的,是不会有区别的,但是当a里面有运算符的时候就有区别了。
比如a=2+3的时候
test展开为(2+3*2+3)
test1展开为((2+3)*(2+3)
如此~

能具体说说吗?我这样只能猜着回答。。。

比如你a是个表达式,写在别的表达式里,这样防止出现错误,比如:

#define a 1024+6

int main()
{
int b=a*4;
printf("b=%d\n",b); getch();
return 0;
}

你这样写 就是b=1024+6*4=1024+24=1048;
但是 如果你写成 #define a (1024+6) 就不会出现错误了,现在就是 b=(1024+6)*4=4120

如果你想问的不是这个,就说清楚了。。。否则我真心没法答。。。

没有什么区别
就是加了一个括号而已

当然 如果使用的地方不同,肯定有很多区别的,但只有这两个,能有什么区别

有没有区别得看具体情况了


c语言ASCII码中, a~ z对应多少?
c语言 ASCII码中,A~Z:65-90, a~z:97-122(分别一一对应)。ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO\/IEC 646。ASCII 码使用...

如何给汉语拼音中的a分类?
4、整体认读音节(共16个):(这些音节读的时候应该直呼读音,不用拼读)zhi、chi、shi、ri、zi、ci、si、yi、wu、yu、ye、yue、yuɑn、yin、yun、yinɡ。知识拓展 拼音是汉字的音标符号,它起源于中国古代的声韵学研究。拼音可以帮助人们准确地读写汉字,提升语言能力和交流效果。其中,a是拼音中...

c语言中a +和 +a的区别是什么?
1、本质区别 双引号里面的是字符串, 而单引号里面的代表字符。2、输出区别 str = “a”输出的就是a这个字母;str = ‘a’输出的测试65 3、底层区别 用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。

C语言中一个二维数组 它的数组名是a 那a和*a有什么区别?
而使用*a时,等同于TYPE*型。从概念上说,a表示二维数组a的首地址,而*a表示二维数组a第一行a[0]的首地址。这样在使用的时候就有所区别。比如 对a的操作a[4]表示a的第四行首地址,而对*a的操作(*a)[4]则代表第一行的第4个元素,即a[0][4]。所以a和*a除了值相同外,其它的各方面都...

c语言中a+=a-=a*a如何计算
连续赋值运算,从右向左计算即可。原始的表达式等于:a-=a*a;a+=a;也就是:a=a-a*a;a=a+a;例如a=5;那么:a=a-a*a=5-5*5=-20;a=a+a=-20 + (-20) = -40;最终a为-40,表达式整体值也就是a最终值,一样是-40。

c语言中a[1][a[1][2]]是什么意思
a==1?1:2在c语言中的意思是说如果a等于1是成立的话,那么a的结果就是为1,但是如果a等于1的等式不成立的时候,那么a的结果就为2。这样的式子在C语言中,属于关系运算符中的三目运算符,三目运算符就是当等式成立结果为?后面的值,当不成立时,选择:后的值。等式?条件1:条件2。

C语言中a+=a是什么意思
根据网上的搜索结果,C语言中a+=a是一种赋值运算符,意思是将a的值加上自身,然后再赋给a。12 例如:如果a的初始值是2,那么执行a+=a后,a的值变为4。如果a的初始值是-1,那么执行a+=a后,a的值变为-2。如果a的初始值是0.5,那么执行a+=a后,a的值变为1.0。这种运算符可以简化代码...

C语言中(a>b)?a:b和(a<b)?b:a有什么区别
一、表达意思不同 1、(a>b)?a:b:如果a大于b,则取a,否则取b。2、(a<b)?b:a:如果a小于b,则取b,否则取a。二、逻辑顺序不同 1、(a>b)?a:b:内存逻辑中先执行大于的判断,之后执行下一步。2、(a<b)?b:a:内存逻辑中先执行小于的判断,之后执行下一步。三、执行顺序不同 1、...

c语言中Fun(a)和Fun(&a[0])的区别?
a应该是一个数组变量,那这个问题就是数组作为参数传递时的含义。举个例子,对于int a[5]来说 a和&a[0]的类型都是int *,而且2者的值也是一样的,都表示数组的首地址。a和&a[0]步长是一样的,a+1和(&a[0])+1都表示数组第二个元素的地址。所以2者没有区别,希望对你有帮助。

c语言中二维数组(*a)[1]和*a[1]有什么区别,为啥他们的值不一样?_百度...
二维数组名是一个指向一个一维数组的指针,a是一个二维数组名,就是一个指向一维数组的指针,一个这样的指针求间接运输(*a),得带的是这个指针所指向的一维数组的数组名,在此是 a[0], 数组名加一个下标就是数组元素值,(*a)[1]就是 第0行数组的第1个元素 a[0][1]-->2 a[1]->...

回民区18477237354: C语言中符号“a”和'a'的区别是? -
林怎先倍: 呃,,,楼上的各位都没有答到本质上 从本质上讲,“a”是一个指针常量,而'a'则是一个数值.也就是说,在编译器看来,“a”的值是一个地址(比如:0x84f39ea0),而'a'的值则是a的ASCII码(即97).楼主用printf打印这两个值看看就知道了 另外,当“”里的字符串有多个字符时,它指向字符串的第一个字符.

回民区18477237354: c语言中,a 和a[] 有什么区别 -
林怎先倍: 'a'是一个字符,"a"是两个字符,'a'和'\0' 比如,下面这个例子: char a1[1]={'a'}; char a2[1]={"a"}; 前者a1[0]='a',能编译通 后者编译通不过,因为a2是一个元素的数组,而"a"有两个元素,分别是'a'和'\0' 补充: 'aa'这是错误的写法,单引号是字符的引号,它只能引一个字符的 "aa"这是正确的写法,双引号是字符串的引号,它有三个字符:'a','a','\0'

回民区18477237354: C语言中!a和a!的区别 -
林怎先倍: !1 = 1; //这个是错误的表达式,常量不能赋值,不过 !1 的值等于0 1 != 1; //这个相当于1不等于1,整个表达式的值也是为0,因为1肯定等于1

回民区18477237354: C语言中'a'和"a"有什么区别 -
林怎先倍: 加单引号表示a这个符号的asicc码值,为一个整数,加双引号的就表示a这个字符,char类型.

回民区18477237354: 在c语言中,《a》和<a>有什么区别,急急急!!!!!!!!!!!! -
林怎先倍: 《》是中文全角写法,C语言中没这种写法. <>一般起引入头文件的作用,表示从当前目录搜索头文件;""也有此作用,只不过表示的是从系统目录中搜索头文件.

回民区18477237354: C语言中'a'和a有什么区别 -
林怎先倍: 'a' 代表的是字符常量 可以单独使用 没有引号的时候 只是一个字符,可以用作标识符 比如 int a; 也可以和其它字符连用 如0xa 表示16进制常量.

回民区18477237354: 在c语言中“a”和'a'的区别是? -
林怎先倍: C语言中没有String的类型,不过是有String这个概念,C语言的字符串也是char类型存储.C语言中"a"表示一个字符串,在内存中存储为 'a' '\0' 两个字符,大小为2字节.C语言中'a'表示一个字符,在内存中存储为 'a' 一个字符,大小为1字节.扩展知识:在C语言中可以用char类型的指针来存储任意长度的字符串!比如:char * myStr="Hello,C!".如果你用char型数组来存储字符串,请注意你的数组的长度要比你将要存储的字符串长度至少大1.

回民区18477237354: c语言 &a和a的区别搞不明白? -
林怎先倍: 首先,a是一个变量,储存着值.&a是常量,是变量a的内存地址.一般的&a是用来赋值给指针的(int *p=&a ;),或者是作为函数的参数传递(地址传递).比如scanf中:scanf("%d",&a);如果输出,也并不是按照你说的那样,比如a是字符型:putchar(a) ;a是整形:printf(“%d”,a) ; 所以输出是用a还是&a,要看函数的参数类型是变量还是指针.

回民区18477237354: C语言中a!与!a的区别 -
林怎先倍: 没有a!这种写法,应该是a!=...,这个表示a不等于...!a表示非a,如果a的值为0,则它的值为1,如果a的值不为零,则它的值为0

回民区18477237354: C语言中 'A'和A有什么 区别 比如我要判断 字符串中的一个字母 str【i】是否为A -
林怎先倍: 字符常量必须要用单引号引起来!单独的A只能做变化使用!如果是这样:char a; char str[10]; a='s' ; str[0]=a; //a是变化,其值为's' str[1]='a' ; //'a'是常量 都是对的!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网