0
我只想在char数组中存储(附加/ cancatenate)三个手机号码。在for循环中,我给出了三个手机号码。我写了一个函数来存储移动号码。 char数组通过打印数组变量的长度来存储第一个移动号码。当我尝试存储第二个手机号码时,char数组变为null(数组的长度为零)。实际上,变量数组“auth_mob_no”索引连续递增(j++
),并获得需要将变量数组“mob_no”索引设置为零(k = 0)的第二个数字。为什么在我给第一个字符串之后没有存储字符串?字符数组显示空试图追加第二个字符串
#include <stdio.h>
#include <string.h>
char mob_auth(char mob_no[]);
int i,j=0,k=0;
int main()
{
char num[15];
for(i=0;i<3;i++)
{
scanf("%s",num);
if(mob_auth(num))
{
printf("Mobile Number stored\n");
}
}
return 0;
}
char mob_auth(char mob_no[])
{
char auth_mob_no[50];
while(mob_no[k]!='\0')
{
auth_mob_no[j]=mob_no[k];
k++;j++;
}
auth_mob_no[j]='\0';
k=0;
printf("len:%d\n",strlen(auth_mob_no));
return 1;
}
输出:
input by user: +919999999999
len:13
Authicated Mobile Number
input by user: +918888888888
len:0
Authicated Mobile Number
全局变量'i','j'前投中的数据和'k'应该是本地的;单个字符名称对于全局变量来说是一个非常糟糕的选择。 –