快捷导航

为什么最后要用啊a[i+k]='\0'?

#include
#include


int main()
{        char   a[50],b[30],c[100];
        int    i,j,k,x,m;
        scanf("%s",&a);
        scanf("%s",&b);
        for(i=0;a!='\0';i++)
          {c=a;
          }
        for(k=0;b[k]!='\0';k++)
           {c[i+k]=b[k];
           }
        c[i+k]='\0';
        puts(c);
        system("pause");
我定义的串c[100],假设有效长度小于100,在数组最后一个有效元素后,不是自动默认为‘、0’么?为什么还要加一个a[i+k]=‘\0?’

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

C语言中,定义一个字符串末尾默认是 \0 ,C[100]是一个字符数组,不会有默认\0
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP