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

#include<stdio.h>

#include<stdlib.h>


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[i]!='\0';i++)

  {c[i]=a[i];

  }

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?’

qq_新生_10
浏览 1218回答 1
1回答

最初__

C语言中,定义一个字符串末尾默认是 \0 ,C[100] 是一个字符数组,不会有默认\0
打开App,查看更多内容
随时随地看视频慕课网APP