首页 > 试题广场 >

下面的代码是否有正确的预期结果?为什么?如何改正?

[问答题]

下面的代码是否有正确的预期结果?为什么?如何改正?

void FuncT(int iNum,char *asIP[])
{
   for(int i=0;i<iNum;i++)
   {
    printf("%s\n",asIP[i]);
   } 
}
int main(int
argc,char argv[])
{
       char asIP[20][16];
       strcpy(asIP[0],"172.2.2.1");
       strcpy(asIP[1],"172.23.3.2");
       FuncT(2,asIP);
       exit(0);
}
FUNcT的第二个参数改成  char asIP[][16]  就可以了
发表于 2017-08-21 13:34:50 回复(0)
vs2013,编译时FuncT第二个参数类型不匹配,然后我强转成char*,

在函数FuncT中的printf输出时,因为第二个参数是char** ,所以asIP[i]并不知道行结尾的位置。
发表于 2017-08-20 23:36:12 回复(0)
类型不对编译过不了
发表于 2017-07-23 10:04:53 回复(0)
数组未初始化,printd0f无法找到'/0'?
发表于 2017-07-18 12:15:26 回复(1)