C简介:连续提示输入
我想用ANSI C编写一个代码,提示用户输入。 首先,我想打印提示。 然后,我想回显提示符和循环,仅当键入并回显字符时 我知道要生成一个无限循环,我必须将while()的条件设置为始终为真的条件,如while(1) 然而,当我测试代码时,我似乎一次又一次地循环打印“输入字符”。对新手来说有什么建议吗C简介:连续提示输入,c,loops,prompt,C,Loops,Prompt,我想用ANSI C编写一个代码,提示用户输入。 首先,我想打印提示。 然后,我想回显提示符和循环,仅当键入并回显字符时 我知道要生成一个无限循环,我必须将while()的条件设置为始终为真的条件,如while(1) 然而,当我测试代码时,我似乎一次又一次地循环打印“输入字符”。对新手来说有什么建议吗 #include <stdio.h> int main() { char mychar; while(1) printf("Enter a characater:\n");
#include <stdio.h>
int main()
{
char mychar;
while(1)
printf("Enter a characater:\n");
scanf("%c", &mychar);
printf("%c", &mychar)
}
#包括
int main()
{
char-mychar;
而(1)
printf(“输入字符:\n”);
scanf(“%c”和&mychar);
printf(“%c”、&mychar)
}
C中的块不是基于缩进的(比如python中)。块必须以{
开头,以}
结尾,如下所示:
while(1)
{
printf("Enter a characater:\n");
scanf("%c", &mychar);
printf("%c", mychar);// NOTE the missing `&` in front of `mychar` here
}
int main()
{
char mychar;
while(1)
printf("Enter a characater:\n");
scanf("%c", &mychar);
printf("%c", &mychar)
}
您应该使用能够自动格式化/自动缩进整个源文件的编辑器或IDE。如果您有这样的问题,您会立即看到问题,因为您的代码如下所示:
while(1)
{
printf("Enter a characater:\n");
scanf("%c", &mychar);
printf("%c", mychar);// NOTE the missing `&` in front of `mychar` here
}
int main()
{
char mychar;
while(1)
printf("Enter a characater:\n");
scanf("%c", &mychar);
printf("%c", &mychar)
}
这是一个即使是有经验的C程序员有时也会犯的错误,因此对它进行简单的修复(自动缩进/自动格式化代码)即使在将来也很重要
不相关的问题,在后一个
printf
中为%c
格式说明符传递指向char的指针。您应该在编译器上启用警告,它会对此发出警告。printf(“%c”,mychar)
您可以使用getchar()
和putchar()
来代替。。。。