发布网友 发布时间:2022-05-27 20:22
共7个回答
热心网友 时间:2023-01-27 20:57
一般是没有区别的,尤其是你把他单独提取出来。C语言中()只有两种作用,一个是作为函数或强制转化的标志,如果(a)前面是个函数名的话,那就表示a是作为那个函数的实参。另一个是作为运算符,能提高里面的运算优先级,把里面的表达式优先算出来,在这里,单独的(a)与a没有区别。热心网友 时间:2023-01-27 22:15
其实没啥区别,(a)是把a显示的分离处理形成一个表达式,要说区别主要体现在宏定义中热心网友 时间:2023-01-27 23:50
能具体说说吗?我这样只能猜着回答。。。比如你a是个表达式,写在别的表达式里,这样防止出现错误,比如:#define a 1024+6int 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如果你想问的不是这个,就说清楚了。。。否则我真心没法答。。。追问sizeof(a)和sizeif a追答有 sizeof a 只能写这一个变量了 但是如果你需要写一个表达式呢?就必须加()了。
就像是你 if(p==0) x++; 这样可以 但是 如果你if里面有许多语句 就得用{}了
我不知道说没说清楚。。。这里的话 你写sizeof(a+6)就得用括号了。
热心网友 时间:2023-01-28 01:41
没有什么区别热心网友 时间:2023-01-28 03:49
有没有区别得看具体情况了热心网友 时间:2023-01-28 06:14
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语言
热心网友 时间:2023-01-28 08:55
char a1[1]={'a'};