c语言指针问题 求助
#include<stdio.h>#include<string.h>
void main()
{
char str[]="CHINA";
char *c;
c=str;
printf("%p %p \n",str,c);
}
为什么 c=str 而不是*c=str 赋值指针字符串时 不需要用 星号(“*”) 指针字符串
赋值时无需*
如果帮到你了,设置最佳可好{:10_297:} 因为 str 本身是个数组,可以直接转成指针,不必须取地址。 永恒的蓝色梦想 发表于 2020-7-13 22:26
因为 str 本身是个数组,可以直接转成指针,不必须取地址。
请问一下 原理是不是因为 str是数组 不需要用&符号 而且*a是取值 a才是取地址 char *a和*a不是同一个意思 liuzhengyuan 发表于 2020-7-13 21:37
赋值指针字符串时 不需要用 星号(“*”)
请问一下 原理是不是因为 str是数组 不需要用&符号 而且*a是取值 a才是取地址 char *a和*a不是同一个意思 有梦想大蜗牛 发表于 2020-7-14 00:26
请问一下 原理是不是因为 str是数组 不需要用&符号 而且*a是取值 a才是取地址 char *a和*a不是同一个意思
对的。 永恒的蓝色梦想 发表于 2020-7-14 11:53
对的。
#include<stdio.h>
void main()
{
int a={1,2,3,4,5,6,7,8,9,10};
int *k=a;
for(;k<a+10;k++)
{
printf("%d",*k);
}
}
大佬能 解释一下 k<a+10是什么意思吗?? 有梦想大蜗牛 发表于 2020-7-14 18:58
#include
void main()
{
k 小于 a+10
小学数学就讲过了吧{:10_277:} 永恒的蓝色梦想 发表于 2020-7-14 18:59
k 小于 a+10
小学数学就讲过了吧
emmm 我在想K不是地址嘛 地址还能小于地址吗 有梦想大蜗牛 发表于 2020-7-14 19:30
emmm 我在想K不是地址嘛 地址还能小于地址吗
地址就是一个数…… liuzhengyuan 发表于 2020-7-13 21:37
赋值指针字符串时 不需要用 星号(“*”)
大佬 请问这里哪错了
#include<stdio.h>
void main()
{
int a={1,2,3,4,5,6,7,8,10,9};
void zh(int *a);
zh(a);
}
void zh(int *a)
{
int *max;
int *min;
max=min=a;
int i=0;
for(;i<10;i++)
{
if(*(a+i)>*max)
*max=*(a+i);
else if(*(a+i)<*min)
*min=*(a+i);
}
printf("%d %d",*min,*max);
} 本帖最后由 liuzhengyuan 于 2020-7-14 19:54 编辑
有梦想大蜗牛 发表于 2020-7-14 19:48
大佬 请问这里哪错了
#include
赋值时 max min 加上 星号 试试? liuzhengyuan 发表于 2020-7-14 19:50
赋值时 max min 加上 星号 试试?
不行哈 max和min存的是地址 有梦想大蜗牛 发表于 2020-7-14 19:58
不行哈 max和min存的是地址
你的程序目的是什么 liuzhengyuan 发表于 2020-7-14 20:00
你的程序目的是什么
求最大值和最小值
页:
[1]