这个程序为什么每次输入完后就提示程序已停止工作,然后就运行不了了???

#include<stdio.h>

void zifu(char a[10],char b[10])

{

char c[20];

int i,j;

while(a[i]!='\0')

c[i]=a[i];

while(b[j]!='\0')

c[i+j]=b[j];

c[i+j]='\0';

puts(c);

}

int main()

{

  char a[10],b[10];

  scanf("%s",a);

  scanf("%s",b);

  zifu(a,b);

}


才下眉头却上我心头
浏览 1862回答 3
3回答

绝恋1

你写的函数zifu中i和j没有赋初始值,进入while语句就报错了

赤髮黑雪姬

#include<stdio.h>void zifu(char a[10],char b[10]){    char c[20];    int i=0,j=0;    while(a[i]!='\0')    {        c[i]=a[i];        i++;    }    while(b[j]!='\0')    {        c[i+j]=b[j];        j++;    }    c[i+j]='\0';    puts(c);}int main(){    char a[10],b[10];    scanf("%s",a);    scanf("%s",b);    zifu(a,b);    return 0;}

kkkbbb

你程序写的不对呗,,while(a[i]!='\0')c[i]=a[i];这是一个永远循环的句子,应当每循环完一次就i加一  ;好像如果main里有永远循环的句子 程序会一直执行,函数里有这样的句子就会停止允许 (也不知道为什么)
打开App,查看更多内容
随时随地看视频慕课网APP