Tag: 差异

C中的声明语句和赋值语句之间的区别?

我是编程和尝试学习C的新手。我正在读一本书,在那里我读到了这些陈述但却无法理解它们的含义。

scanf的差异(“%”,名称); 和scanf(“%”,名称);

这不是一个错字。 对于没有注意到的人,第二个上有一个空间,第一个上没有空格。 当我做这样的作业时,它发生在我身上: #include int main(){ int id,d,m,y; char name[30]; printf(“\tSTUDENT ID\t\t: “);scanf(“%d”,&id);\ printf(“\tNAME\t\t: “);scanf(“%[^\n]”,&name); printf(“\tDATE OF BIRTH\t: “);scanf(“%d/%d/%d”,&d,&m,&y); } 当我执行该代码时,“NAME”部分跳过输入“DATE OF BIRTH”部分 但是,当我更改scanf(“%[^ \ n]”,&name); 到scanf(“%[^ \ n]”,&name); 一切正常。 怎么会发生这种情况? 我似乎不明白这些差异 注意:您可以尝试一下,并告诉我它是否可以正常使用,可能只是因为我的计算机问题或其他原因