下面是我的代码。我知道它是一个非常简单的问题,但我不知道为什么这个代码不工作。我只是想数清我数组,但它总是向我展示计数上面的代码1.String Array Count
#include<stdio.h>
#include<string.h>
int main()
{
char *str[]={"Bharti","Bharat","Akas"};
int a=PalindromeLengthPuzzle(str);
return 0;
}
int PalindromeLengthPuzzle(char* input1[])
{
//const char *mystr=input1;
int i;
int sarray= sizeof(input1)/sizeof(input1[0]);
printf("%s",input1[0]);
//int sarray=sizeof(mystr)/sizeof(mystr[0]);
//int x=sizeof(mystr[0]);
printf("%d",sarray);
//printf("%s",input1[1]);
/*for(i=0;i<sarray;i++)
{
printf("%s",input1[i]);
}*/
return 0;
}
输出为Bharti1
串的数量,它应该是3而不是1任何帮助将不胜感激。
这是允许在我的代码'while(input1 [i]!= NULL){一些逻辑;我++;}'? –
@GS Abhaypal是的,你可以检查下一个值是否是哨兵。:) –
这就是我得到的'BhartiBharatAkasÀÁo·àÃo·p°o·d°o·d°o'',:/我想它会去在无限循环中,并在实际值之后添加垃圾值。 –