有时我看到函数定义如下:
read_dir(dir)
char *dir;
{
DIR * dirp;
struct dirent *d;
/* open directory */
dirp = opendir(dir);
......... so on
Run Code Online (Sandbox Code Playgroud)
这里声明的重要性是什么
char *dir;
Run Code Online (Sandbox Code Playgroud)
在函数名称之后很快声明指针然后启动函数体的内涵是什么.
我在很多地方发现:
但有一件事总是让我想到的是为什么我们不能创建一个抽象类的实例?互联网上的许多地方都说创建一个实例是没有意义的,或者有人说它们应该被用作基类.但是为什么创建抽象类的实例会出错呢?
#!/bin/ksh
始终是shell脚本中的第一行
这条线的重要性是什么,为什么它作为第一线保留.
使用friend
关键字的运算符重载和作为类中的成员函数有什么区别?
此外,任何一元运算符重载(即作为朋友与成员函数)的情况有何不同?
在awk
如果我给一个以上的文件作为参数awk
,还有两个特殊的变量:
NR
=与所有文件中的所有行对应的行号.
FNR
=当前文件的行号.
我知道在Perl中,$.
对应于NR
(所有文件中的行之间的当前行).
FNR
在Perl中有没有可与AWK 相媲美的东西?
假设我有一些命令行:
perl -pe 'print filename,<something special which hold the current file's line number>' *.txt
Run Code Online (Sandbox Code Playgroud)
这应该给我输出像:
file1.txt 1
file1.txt 2
file2.txt 1
Run Code Online (Sandbox Code Playgroud) 我有一个表学生(身份证,姓名,部门,年龄,分数).我想找到每个系最高(最年轻的学生)得分最年轻的学生.在SQL Server中,我可以使用以下SQL.
select * from student s1
where s1.id in
(select s2.id from student s2
where s2.department = s1.department order by age asc, score desc top 1).
Run Code Online (Sandbox Code Playgroud)
但是,在Oracle中,您不能在子查询中使用order by子句,并且没有limit/top like关键字.我必须自己加入学生表两次才能查询结果.在oracle中,我使用以下SQL.
select s1.* from student s1,
(select s2.department, s2.age, max(s2.score) as max_score from student s2,
(select s3.department, min(s3.age) as min_age from student s3 group by s3.department) tmp1 where
s2.department = tmp1.department and s2.age = tmp1.min_age group by s2.department, s2.age) tmp2
where s1.department =tmp2.department and s1.age = tmp2.age and s1.score=tmp2.max_score
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法为oracle简化上述SQL.
我在一次采访中向我询问了这个问题:我有一个二叉树,我必须找到共同的祖先(父)给出该树的两个随机节点.我也得到了一个指向根节点的指针.
我的回答是:
分别遍历两个节点的树,直到到达预期的节点.遍历时并行存储元素和链接列表中的下一个地址.然后我们有两个链接列表.因此,尝试比较两个链表,两个链表中的最后一个公共节点是父列表.
我认为这个解决方案是正确的,如果我错了,请纠正我.如果这个解决方案是正确的,我可能知道这是这项任务的唯一更好的解决方案还是有比这更好的解决方案!
我在接受采访时问过这个问题:
假设你有一个函数可以接受任何类型的参数和任意数量的参数.你会如何编写模板函数?
我不知道确切的答案.任何人都可以建议吗?