分页: 1 / 2

竟然死机了?

发表于 : 2008-02-13 23:46
guopeng1
刚才我用ubuntu突然就死机了屏幕黑了,aut+ctrl+fn都不好使了,我强行关机才好的,是中病毒了吗
现在我是在XP下发的帖子

发表于 : 2008-02-14 0:00
leeaman
当时你在做什么?没有反应应该第一时间试试Ctrl+Alt+Backspace的

发表于 : 2008-02-14 0:02
chattan

代码: 全选

aut+ctrl+fn
这是什么??

发表于 : 2008-02-14 8:51
guopeng1
chattan 写了:

代码: 全选

aut+ctrl+fn
这是什么??

进入TT1

发表于 : 2008-02-14 10:19
JangMunho
guopeng1 写了:
chattan 写了:

代码: 全选

aut+ctrl+fn
这是什么??

进入TT1
写成alt+ctrl+f[n]才看的懂,你不知道笔记本上有个Fn键么。
PS:
Alt+Ctrl+F1 tty1终端
Alt+Ctrl+F2 tty2终端
Alt+Ctrl+F3 tty3终端
……

不是什么TT1。

遇上这种情况还是Ctrl+Alt+Backspace来的快。

发表于 : 2008-02-14 12:09
gotoliuchao
呵呵,我明白了,清华是学习C++的。

发表于 : 2008-02-14 16:31
chattan
汗~~~~我以为是本本上的FN

发表于 : 2008-02-14 21:02
intijk
我想问个问题啊 主函数不是返回int吗?

主函数在什么情况下能调用自身呢?

发表于 : 2008-02-14 21:56
Element
intijk 写了:我想问个问题啊 主函数不是返回int吗?

主函数在什么情况下能调用自身呢?
主函数申明的是void,不是int,所以不返回int
后面的不知道

发表于 : 2008-02-15 9:26
intijk
楼上 。晕了你,你去搜一下“主函数的返回值”。

发表于 : 2008-02-15 9:32
yaoms
intijk 写了:楼上 。晕了你,你去搜一下“主函数的返回值”。
主函数并不是一定要返回一个什么的,如果申明了void,就是没有返回值的。

发表于 : 2008-02-15 9:36
guopeng1
不好意思是我写的不明白我服了我这个浏览器了我按符号健就推出

发表于 : 2008-02-15 10:01
JangMunho
intijk 写了:楼上 。晕了你,你去搜一下“主函数的返回值”。
在C语言中int main()才会这样,void main()就是无返回;而且有没有返回值并不影响把程序当作过程来使用。
参考下面的程序:

代码: 全选

#include <stdio.h>
void
main (int argc, char *argv)
{
  int i;
  i = argc;
  if (i == 1)
    return (0);
  else
    {
      printf ("%d ", main (i - 1, NULL));
      return (i - 1);
    }
}
执行结果如下:

代码: 全选

mingo@mingo-laptop:~$ gcc -o main main.c
mingo@mingo-laptop:~$ ./main 1 2 3 4 5
0 1 2 3 4
如果将int main改为void main,则会出现这样的情形:

代码: 全选

mingo@mingo-laptop:~$ gcc -o main main.c
main.c: 在函数 ‘main’ 中:
main.c:8: 警告: 在无返回值的函数中,‘return’ 带返回值
main.c:11: 错误: 对 void 表达式的无效使用
main.c:12: 警告: 在无返回值的函数中,‘return’ 带返回值
main.c:4: 警告: ‘main’ 的返回类型不是 ‘int’
mingo@mingo-laptop:~$ 
明显,编译时出错,因为主函数是void型。

有返回值的函数也可以当作过程来用,因为事实上常用的printf()就是一个有返回值的函数,但它的返回值很少被用到。

以上情况不适用于c++,c++要求主函数必须返回int,但c++同样可以将有返回值的函数当作过程来使用。
参考以下程序:

代码: 全选

#include <iostream>
using namespace std;
main()
{
      cout<<"清华是炼狱!"<<endl;
      main();
}
运行结果如下:

代码: 全选

....
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!
清华是炼狱!

(^C)
mingo@mingo-laptop:~$ 
程序进入无底洞,必须通过Ctrl+C结束。由此证明作为int型的main()函数被自身调用,且被作为一个过程看待。

我是清华电子系的,我们大一并不学C++,而学的是C,我只是借女同学的书看了40分钟,大致明白了基础;至于签名为什么用C++,那是因为stdio.h中的.h在签名中会被屏蔽,不信你也可以试试……呵呵

LZ不好意思了,借帖子用一下。

发表于 : 2008-02-15 10:23
intijk
不同的编译器有不同的实现,比如在gcc中就不允许返回值为void,其它类型的编译器vc就允许void类型main()

原来用dev c++的时候它也不允许void,后来我才知道dev c++ 用的就是gcc

ansi c 标准没有硬性规定,只是说推荐以正常结束程序而返回0

如果用void,则依照情况可以采用exit(0)来表示程序正常结束。

发表于 : 2008-02-15 11:59
daviszhao
严重BS跑题贴。。
guopeng1 写了:不好意思是我写的不明白我服了我这个浏览器了我按符号健就推出
你说的符号键是哪一个?