c语言变量名命名规则,为什么书上答案给的D

以下标识符中不能作变量名的是()
A main B scanf C _float D sizeof

因为这四个选项中,sizeof是C语言关键字,关键字不能作为变量名。

main和scanf只有带()的时候是函数,没有括号的时候,不是函数,也不是C语言关键字,可以做变量名。float是类型,但_float不是C语言基础类型,所以也可以作为变量名。

C语言关键字:
auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while、inline、restrict、_Bool、_Complex、_Imaginary、_Alignas、_Alignof、_Atomic、_Static_assert、_Noreturn、_Thread_local、_Generic。

  1. 因为sizeof是一个操作符;
  2. 操作符不能用于变量名。

因为sizeof是系统函数名
该函数用法参考这个链接:

http://c.biancheng.net/cpp/html/932.html

C语言命名规范参考这个链接内容:

https://www.cnblogs.com/ricksteves/p/9899937.html#:~:text=%E4%B8%80%E3%80%81C%E8%AF%AD%E8%A8%80%E5%8F%98%E9%87%8F%E5%90%8D%E7%9A%84%E5%91%BD%E5%90%8D%E8%A7%84%E5%88%99%EF%BC%9A%EF%BC%88%E5%8F%AF%E4%BB%A5%E5%AD%97%E6%AF%8D%EF%BC%8C%E6%95%B0%E5%AD%97%EF%BC%8C%E4%B8%8B%E5%88%92%E7%BA%BF%E6%B7%B7%E5%90%88%E4%BD%BF%E7%94%A8%EF%BC%89%201.%20%E5%8F%AA%E8%83%BD%E4%BB%A5%E5%AD%97%E6%AF%8D%E6%88%96%E4%B8%8B%E5%88%92%E7%BA%BF%E5%BC%80%E5%A7%8B%EF%BC%9B2.%20%E4%B8%8D%E8%83%BD%E4%BB%A5%E6%95%B0%E5%AD%97%E5%BC%80%E5%A7%8B%EF%BC%9B3.%20%E4%B8%80%E8%88%AC%E5%B0%8F%E5%86%99%EF%BC%9B4.,%E5%85%B3%E9%94%AE%E5%AD%97%E4%B8%8D%E5%85%81%E8%AE%B8%E7%94%A8%EF%BC%88eg%3Aint%20float%3D2%2F%2Ferror%20float%20%E4%B8%BA%E4%BF%9D%E7%95%99%E5%AD%97%E4%B8%8D%E5%85%81%E8%AE%B8%E7%94%A8%EF%BC%89%EF%BC%9B%20%E4%BA%8C%E3%80%81%E5%87%BD%E6%95%B0%E5%90%8D%E7%9A%84%E5%91%BD%E5%90%8D%E8%A7%84%E5%88%99%201.%E8%A7%81%E5%90%8D%E7%9F%A5%E6%84%8F%EF%BC%9B

综上说明D答案中的sizeof由于是系统内的关键字范畴,因此不能作为变量名

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632