#include<stdio.h>
#include<conio.h>
int step_counter(char *array);
int main()
{
char *txt = "Try...";
printf("%d",step_counter(&txt));
getch();
}
int step_counter(char *array)
{
int step=0;
while(*array==NULL)
{
array++;
step++;
}
array-=step;
return step;
}
我需要发送一个指向没有数组的函数的指针。我怎么解决这个问题?我累了几个月因为试图解决这个问题......
答案 0 :(得分:2)
这可能是你正在努力实现的目标。
#include<stdio.h>
int step_counter(char *array);
int main()
{
char *txt = "Try...";
printf("%d",step_counter(txt));
return 0;
}
int step_counter(char *array)
{
int step=0;
while(*array)
{
array++;
step++;
}
return step;
}
<强>被修改强>
首先,txt
是指向字符数组的指针,因此您不必发送&txt
来传递其地址,因为txt
本身就是一个地址。第二,在while
循环中,您可以使用while(*array)
或while(*array != '\0')
来检查字符数组终止。哦哦!正如alk指出的那样,array-=step;
是多余的。