当前位置:  开发笔记 > 编程语言 > 正文

使用scanf for for循环

如何解决《使用scanfforfor循环》经验,为你挑选了1个好方法。

这是我的c代码:

int main()
{
    int a;
    for (int i = 0; i < 3; i++)
        scanf("%d ", &a);

    return 0;
}

当我输入类似的东西时1 2 3,它会要求我输入更多,我需要输入不是''的东西.

但是,当我将其更改为(或其他不是' ')时

scanf("%d !", &a);

和输入1 ! 2! 3!,它不会要求更多的输入.



1> chqrlie..:

最后一个空格scanf("%d ", &a);指示scanf消耗该数字后的所有空白区域.它将继续读取,stdin直到您键入不是空白的东西.以这种方式简化格式:

scanf("%d", &a);

scanf 在数字之前仍然会忽略空格.

相反,格式"%d !"会消耗数字和单个后面的任何空格!.它在获取此字符时停止扫描,或者在输入流中留下另一个非空格字符.您无法从返回值中判断它是否匹配!.

scanf笨重,它是很难正确地使用它.它往往是更好的阅读与线输入fgets()和分析,与sscanf()甚至简单的功能,例如strtol(),strspn()strcspn().

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有