爱问知识人 爱问教育 医院库

c 指针问题

首页

c++指针问题

#include<stdio.h>
#include<iostream.h>
char *connect(char *s1,char *s2)
{
  char *p=s1;
  while(*p) p++;
  while(*s2)
  {*p=*s2;p++;s2++;}
  return s1;
}
void main()
{
  char s1[50],s2[50];
  gets(s1);gets(s2);
  cout<<connect(s1,s2);
}
1.运行之后为什么会显示烫?
 turn s1为什么能把全部结果显示出来?指针不是一个地址吗?指针到底是什么东西?
3.如果void main(){char *s1;s1=new char[40];cin>>s1;cout<<s1;输入的结果与输出的相同吗?}

提交回答
好评回答
  • 2018-04-04 06:34:59
    指针说白了就是一个地址类数据,它保存的内容就是另外一个存储单元的地址
    就像你的电影票,上面写的是排号和座位,通过该票你就能找到你的位置一样
    指针就是这样的
    唯一不同的是,计算机存储是顺序连续的,给定一个地址,那么你就可以通过该指针找到你要的数据的地址,并通过该地址找到你要的数据,当然就可以访问下一个地址的数据了。

    李***

    2018-04-04 06:34:59

其他答案

    2018-04-04 08:34:59
  • 你是用指针操作字符串中的字符,
    在s1末尾加上若干字符后,
    没有添加字符串结束符‘\0’,
    而对于没有字符串结束符的“字符串”,系统会认为s1[0]到s1[49]都是字符串的内容,
    而s1[strlen(s1)+strlen(s2)]到s[49]段是没有被赋值过的,所以输出末尾会有若干‘烫’

    回***

    2018-04-04 08:34:59

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):