C:来自用户的未知输入

0 c input scanf

我希望从C中获得用户的输入.有两个选项: char然后int (scanf("%c, %d", &mychar, &myint)) 或a string.

我的问题是如果我不知道用户将要输入什么,如何检查用户输入行 - 字符串或char/int组合.谢谢!

Ama*_*dan 6

输入一个字符串fgets,然后尝试sscanf它,并检查结果是否成功.如果你得到了2,你已经成功读取了一个字符和一个整数.如果您得到其他任何内容,则sscanf无法读取您指定的格式,因此请使用原始字符串.

你甚至可以读取格式"%c, %d%c"(不要忘记给它一个char变量来读取第三个参数),以便查看是否有一个char和一个整数,用于严格的错误检查:"x, 18trashtrash"sscanf返回3,而a很高兴"x, 18"会给你2.