【发布时间】:2021-07-03 23:59:59
【问题描述】:
如何计算以下 C 代码中每个语句的频率计数(即每个语句被读取/执行的次数)。 每个语句的频率计数必须写成'n'。
int dividable(int n){
for(int i=3 ;i< = n ; i+=3)
if(n%i = 0){
cout << (“dividable\n”);
return 0;
}
return 1;
}
【问题讨论】:
-
您可以在一张纸上或在调试器中逐行浏览代码。
-
语句将被执行零次,因为显示的代码不会编译。
i< = n不是有效的表达式。在n%i = 0中,n%i不是左值,因此它不是赋值运算符=的有效左操作数。在此之下,cout未定义(特别是因为这是 C 代码,但cout是 C++ 的东西)。这些错误中的每一个都会阻止编译。 -
这里没有定义什么是陈述。你的意思是像 for, int, if 等这样的关键字还是你的意思是序列点还是 for (...) 被视为一个语句或 4 个语句?
-
@pqans:什么是语句完全由 C 语法定义,毫无疑问,在格式良好的 C 程序中语句是什么。