程序大意:用户自己输入字串,当输入okid时结束输入,然后将输入的字串依次输出.
问题1:定义的char id[200][20];在没有赋值的情况下,是否默认为空?如果不是,如何初始化赋值?
问题2:如何判断其是否为空字串?以下代码目前输入无问题,但输出的却是乱码.
#include <stdio.h>
#include <string.h>void main()
{
char id[200][20];
int i,j;
//for ()
for (i=0;i<200;i++)
{
gets(id[i]);
//puts(id[i]);
if (strcmp (id[i],"okid") == 0)
break;
}
for (j=0;j<200;j++)
{
if (strcmp (id[j],"")==0)
break;
else
puts (id[j]);
}
}
问题1:定义的char id[200][20];在没有赋值的情况下,是否默认为空?如果不是,如何初始化赋值?
问题2:如何判断其是否为空字串?以下代码目前输入无问题,但输出的却是乱码.
#include <stdio.h>
#include <string.h>void main()
{
char id[200][20];
int i,j;
//for ()
for (i=0;i<200;i++)
{
gets(id[i]);
//puts(id[i]);
if (strcmp (id[i],"okid") == 0)
break;
}
for (j=0;j<200;j++)
{
if (strcmp (id[j],"")==0)
break;
else
puts (id[j]);
}
}
2)if( !( id[ j ] ) )
{
puts (id[j]);
id[j]="";
}
其实你用strcpy代替一下应该就没有问题了