下面的代码不会打印任何内容 -
int main() {
char *input = "This is a string";
find_length(input);
return 0;
}
void find_length(char *input){
printf("%s", input);
int length = 0;
while(input[length]!='\0');
{
length++;
printf("%i", length);
}
}
Run Code Online (Sandbox Code Playgroud)
Mys*_*ial 20
循环后面有一个额外的分号:
while(input[length]!='\0');
^ does not belong here!!!
Run Code Online (Sandbox Code Playgroud)
所以它陷入无限循环.摆脱它.
此外,可能存在流缓冲.尝试添加一些\n.或者调用fflush(stdout)刷新输出流.
void find_length(char *input){
printf("%s\n", input);
int length = 0;
while(input[length]!='\0') // remove ;
{
length++;
printf("%i\n", length);
}
}
Run Code Online (Sandbox Code Playgroud)