我正在编写用于检查输入的代码 现在我需要做的是检查用户是否输入“read_set a”... 但我想做什么并不重要..
如果输入是:“read_seta,123”,则显示无BUGS
如果输入是: "read_set a,123",则会显示 BUGS
代码是:
input[100];
scanf("%s",input);
printf("%s",input);
read_set(input)
int read_set(char input[]){
printf("%c\n\n",input[8]);
printf("%s",input);
}
在第一个 printf 中,我希望代码显示空格“”,但它没有 相反,它每次都会打印奇怪的字符(每次随机字符)
而且第二个 printf 根本不显示
问题是什么?
最佳答案
change scanf("%s", input); to scanf("%14c", input);
现在的问题是 scanf 需要 14 个字符,否则它需要返回。
因此,对于输入字符串“read_set a,123”,它工作正常,但对于我们说“read_set”
它还需要 6 个字符(包括 '\n')。
瓦尔特
关于c - 在c中打印字符串的未知错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21271476/