‘壹’ c语言中'a'和"a"有什么区别
1、本质区别
双引号里面的是字符串, 而单引号里面的代表字符。
2、输出区别
str = “a”输出的就是a这个字母;
str = ‘a’输出的测试65
3、底层区别
用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。
(1)c语言a2是什么意思扩展阅读:
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
‘贰’ c语言中,a 和a[] 有什么区别
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”,因此,你只要给力他首地址,他就知道从哪里开始,从哪里结束了。
纯手打,望采纳。
‘叁’ C语言下标如何表示
a1 - a10,保存在一个数字里面假设为 int a[10];你的a2i表示什么呢?是a[1](其实就是a2,下标从0开始)还是a[2 * i]呢,2 * i不可能,因为i 从1到10, 2 * 10就越界了,你的a21又是什么呢?只有10个元素(a1 - a10)你又如何有a21呢。。。。你的等式应该写错了。。。bi就用b[i - 1]表示(b是一个数组),如果等式是bi = (a2 * i - 1 + a2)/2,那就可以这么写for(int i = 1; i <= 10; ++i){ b[i] = (a[1] * i + a[1])/ 2;}b和a都是10个元素的数组。不过你应该是等式写错了。。
‘肆’ 求助 c语言a2
下面答案 没有14题 我补充下
题号14:
int a[][3] 是错误的,声明未给初始值,一维未定。。系统无法分配空间。。
题号 19 :
我认为 是 int 所以19题 是选择 错
‘伍’ c语言中a*2是什么意思
a*2是指将变量a的值乘以2,即a*2的结果等于a乘以2,也就是a乘2的结果。例如,int a = 5; int b = a*2; 则b的值为10。
‘陆’ c语言问题 a2为啥子等于1
a2=i!=j;
先判断i!=j,为真祥局,故等于1,
a2=1,所以等于1,
你可以理解为是a2=(1!=j);岩宴斗
不等于的优先级比=大粗磨
‘柒’ c语言这题a2为什么等于5
程序的解释见图