66问答网
所有问题
C语言char数组字符串时,为什么在用输出printf时,数组前不加间接寻址符号*
比如:char a [10]=测试; printf(“%d”,a); 为什么不用printf("%d",*a); 编译器会报错?
举报该问题
其他回答
第1个回答 2019-08-07
首先
输出一个字符串是printf(“%s,a);
a是这个字符串的首地址
你把首地址传入函数
他会自动把\0之前的字符都打印出来
*a是这个字符串的第一个字符
你可以用%c打印
相似回答
C++ 非法索引,不允许
间接寻址,
问题出在哪?
答:
"title",这个意思是让编译器产生了一个const
char*
的指针,指向存放
字符串
title的位置,你拿这个位置去索引数组。。。这个代码是在太匪夷所思了
这段
C语言
指针代码
为什么
编译提示“非法的
间接寻址
”?
答:
你好!!!int b[3];这是定义一个指针数组b
,数组
的每个元素都是指针,即b[0]也是指针 那么既然b[0]是指针变量,此时我们只需把b[0]看成一个指针变量p可以吧,那么p[n]和*(p+n)是等价,b[0]=(int )(p);就是把数组的a的首地址强制转换给给一个普通的指针变量b[0],即b[0]指向...
C语言
指针基本概念及其指针变量的定义是
什么
答:
数组名表示整个数组的首地址,可以看作是固定地址的指针,不能被赋值。数组名无须赋初值,而指针
在使用前
必须赋初值。3、字符指针和字符串 字符串是一个
字符数组,
字符串以‘\0’结束。
printf
函数的%s格式
输出字符时,
是从给定的地址开始,到遇上第一个‘\0’字符时结束。对字符指针初始化,是将字符...
C语言
中对指向多维
数组
的指针数组中多维数组元素的
间接寻址
问题
答:
a代表第一个元素的地址,所以第一个后面第n个可以用 *(a+n);二维数组 int **a = new int[5][5];a[i] 相当于一维数组里的 a, 它代表指向第一行元素的一个数组指针。即:a[i] ( *a ) 是 int* 型 所以指向第 2 行 数组 的指针: *(a+1)指向第 i 行 第 j 列 数组 元素 ...
c语言
编译
时间接寻址
级别不同链表的问题
答:
声明与定义的格式不同。你在main函数里声明是: struct stu *print(struct stu *head);而下面的定义是: void print(struct stu *head)这是老谭那本书里面的吧~
c语言
提示:error C2040: “trim”:“
char
*
(char *)”与“int...
答:
增加trim的声明,我VS2008可以编译过啊
大家正在搜
c语言字符型数组和字符串
char数组输入字符串
字符串和字符串数组
用char定义字符和字符串
c语言字符串数组定义
c语言定义一个字符串数组
C语言的字符串数组
c语言数组转字符串
char字符串数组