学习编程既要追根溯源、又要紧跟时代步伐
昨天晚上《人人都能学会的编程入门课》更新了,我把"01 | 学习编程,我到底该选择哪门语言?"学习完后感触挺深,作者提到的问题我都遇到过,C 语言是我学的第一个编程语言,在学完之后我对作者判断素数的 C 语言程序的程序提出了我的看法。
我:
for (int i = 2; i * i <= x; i++) { // 定义循环变量 i if (x % i) continue; f = 1; break; }
老师好,如果是纯正的 C 语言,for 循环里面不能直接定义变量,但是老师是在 C++环境(文件名是 cpp)下,所以这个能运行。而老师的背景是在纯 C 的背景下,那么这个语法就是有问题的。C 语言的变量都是先定义后使用。个人愚拙,如果说得不对,还请老师见谅!
作者:
你这个问题非常好,也可能是大多数同学的问题。C 语言 for 循环里面不能定义变量,这个已经是上个世纪的事情了,自从 C99 标准以后,C 语言的循环中是可以定义变量的。
后续:
我早上的时候用 C 语言验证了,确实可以 for 循环里面可以定义变量。开始学的时候老师说,C 语言 for 循环不能定义变量,当时好像没去尝试过,后来因为参加竞赛自学了 C++ ,发现可以这样做,就一直觉得 C 语言可以不能这样做,当时看到就提出了这个问题。我之前在指导大一的新生的时候,让他们在 C 语言不要再这样,老师当时说不能这样用,自己记住了这个不能用。发现自己太死板了,编程语言也会发展,我们也要发展,时刻学习。学习编程既要追根溯源、又要紧跟时代步伐!
记于:2020-01-04
版权声明: 本文为 InfoQ 作者【玄兴梦影】的原创文章。
原文链接:【http://xie.infoq.cn/article/37a1a3e903727541f20d37fb4】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论