%d和 %d有区别吗?空格有啥作用

img

刚学c语言
所以scanf函数怎么运行的啊
遇到空格咋操作
1111111111111111111111111111

%d前面加空格是不受影响的,等价
但后面加空格是受影响的,不等价。

%d 和 空格+%d 有什么区别?
scanf() 函数和 printf() 函数中都有区别:

  • scanf() 函数
    scanf("%d", &变量名) 可以正常读取一个整型变量的值,如果写为 scanf(" %d", &变量名)需要读取一个前置空格才能正常读取一个整型变量的值
  • printf() 函数
    printf("%d", 变量名) 读取变量并转为整型输出到控制台,如果写为 printf(" %d", 变量名) ,则会在输出值到控制台的时候,输出一个前置空格

我的建议是:

  1. scanf() 函数中不要像 printf() 函数中加入任何其他的符号,比如逗号,空格,初学者经常会因为名称而傻傻分不清 printf() 函数 和 scanf() 函数,以为 scanf() 函数也需要像 printf() 函数一样加那些符号,结果要么无法输入,要么程序异常