求助一道c语言题目?
第一个函数main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,1);printf("...
第一个函数 main()
{
char *p,*q;
p=(char *)malloc(sizeof(char)*20);q=p;
scanf("%s %s",p,1);
printf("%s %s",p,1);
}//此函数从键盘输出abc def得出的结果为def def
第二个函数
int main()
{
int a,b;
b=a;
scanf("%d %d",a,b);
printf("%d %d\n",a,b);
}//此函数运行不出来 原理不都是后一个输入的覆盖前一个输入的吗 展开
{
char *p,*q;
p=(char *)malloc(sizeof(char)*20);q=p;
scanf("%s %s",p,1);
printf("%s %s",p,1);
}//此函数从键盘输出abc def得出的结果为def def
第二个函数
int main()
{
int a,b;
b=a;
scanf("%d %d",a,b);
printf("%d %d\n",a,b);
}//此函数运行不出来 原理不都是后一个输入的覆盖前一个输入的吗 展开
3个回答
展开全部
第一个p,q是指针变量,且保存相同的地址,设置为指向同一块内存。p,q始终输出同样的内容。第二个变量a,b占据不同的内存。变量的赋值是值拷贝到目标变量中。
更多追问追答
追问
第二个用b=a这样赋值可以吗行得通吗
本来a和b都没赋值 然后b=a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第二个 那个是值类变量 不是指针类型 你这样赋值没有用 你去学学指针吧
下面的输入要传指针 应该scanf("%d %d",&a,b)
下面的输入要传指针 应该scanf("%d %d",&a,b)
追答
输入要传指针 应该scanf("%d %d",&a,&b)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行不出来是因为你没初始化就用了a
就算能运行,也不能实现第一个效果
第一个你把p=(char *)malloc(sizeof(char)*20);删了照样运行不了
就算能运行,也不能实现第一个效果
第一个你把p=(char *)malloc(sizeof(char)*20);删了照样运行不了
更多追问追答
追问
是因为指针的问题吗
指纹可以运行这样的效果 整型就不可以吗
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询