c - 在c中打印字符串的未知错误

标签 c string input

我正在编写用于检查输入的代码 现在我需要做的是检查用户是否输入“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/

相关文章:

ios - swift 中 GTMNSString+HTML 的等价物?

ios - 快速解析检查用户输入的输入并刷新值

c - 在 C 中返回字符串。为什么这有效?

c - 将字符串数组作为字符指针传递

c - GCC 编译错误,围绕标量初始值设定项 [-Werror]

javascript - Sencha extjs setValue 字符串到数字字段

c - 逐行读取文本文件并保存到数组(C语言)

c - 我们应该在 C 中使用 exit() 吗?

HTML5 模式允许特定的特殊字符

java - 在 Java 中集中处理输入