我是 C 新手。在阅读输入和指针时,我在理解一些基本材料时遇到了一些麻烦。我想使用 nextChar() 函数来读取和打印我在命令行中输入的字符串的每个字符。我尝试输入“hello”..它显示“hello”6 次。有人能告诉我为什么会这样吗?我该如何解决?感谢您的时间!
#include <stdio.h>
#include <assert.h>
char nextChar(char* ptr)
{
static int i = -1;
char c;
++i;
c = *(s+i);
if ( c == '\0' )
return '\0';
else
return c;
}
void display(char* ptr)
{
assert(ptr != 0);
do
{
printf("%s", ptr);
} while (nextChar(ptr));
}
int main(int argc, const char * argv[])
{
char* ptr=argv[1];
display(ptr);
return 0;
}