但如果是其它情况下如arr="byte",这时候等号左边表示数组首元素地址是个常量,现在要这个地址等于指向字符串的地址,这不合标准。 为什么打印字符串可以不用解引用呢,而打印整形数组,字符数组就要解引用,目前来说应该是%s这个符号的作用,它让printf可以找到字符串的位置并将其打印,也可以从设计上理解,字符串有结束标志...
在使用printf输出字符串时,我们通常不需要在char数组前加上间接寻址符号’*’,这是因为在C语言中,数组名本身就是一个指向数组首元素的指针,即数组名是一个地址。 例如,以下代码中的str就是一个字符数组的名字,它存储了字符串”Hello, world!”。在使用printf输出字符串时,我们直接使用数组名作为参数即可,不需要加...
正确的输出字符数组中的字符串的语句是 A. printf("%s", a); 选项A 使用 %s 格式说明符来输出字符串,a 代表字符数组的首地址,通过指针的方式输出整个字符数组中的字符串。这种方式可以输出字符数组中的第一个字符串,也可以输出整个字符数组中的所有字符串。 选项B printf("%s", a[0]); 是错误的,因...
我们可以使用stdio.h中两个函数来输出字符串,分别是printf和puts函数 二十四、字符串的输入 在stdio.h中有2个函数可以用来接收用户输入的字符串,分别是scanf和gets函数 二十五、字符串数组 1.字符串数组简介用来存放字符量的数组称为字符数组。其定义的一般形式是:char 数组名[数据长度]; 2.可以把字符串数组看作是...
在你的描述里边 a 是一个 char* 数组。然后 a[n-1] 其实是等价于 *(a + n -1),也就是说...
i++]数组其实是一个地址,所以他没必要用&。你看过int a[10]; *a 你应该明白数组可以做指针的。回到你的问题,按上面说法 指针指向该数组实际上是指向数组的开始位置;char name[]={a,b,c};printf("%s",name);实际上就是输出name地址中的数组;补充:你可以试一试&a[0]会输出什么 ...
用 sprintf().例如:char s[100];printf("%d %f ",a,b); 到屏幕 printf(s, "%d %f ",a,b); 到字符串。例子:循环输出 0 到 20 的平方,存入字符串 s[]:include <stdio.h> int main(){ char s[300];int i,L=0;for (i=0;i<=20;i++){ printf("%d ",i*i);sprint...
没错,是数组的起始地址,因为在C语言中,数组名是代表数组首地址。
定义:char str[1000];输入:scanf("%s",str);或是gets(str);前一个没有空格,后一个可以包含空格 输出:printf("%s",str);或是puts(str);
首先 输出一个字符串是printf(“%s,a);a是这个字符串的首地址 你把首地址传入函数 他会自动把\0之前的字符都打印出来 a是这个字符串的第一个字符 你可以用%c打印