这个1和2代表的不是返回值哈,而是系统默认的0是标准输入流,1就是标准输出,2就是标准错误流
1代表修改标准输出终端,2代表修改错误输出终端。
因为输出流和错误流分在不同的文件,而他是有错误的,所以并没有输出结果,所以错误流有东西,输出流因为并没有输出结果,所以输出流的文件是空
ctrl + c 应该可以退。
输入i,按tab,如果有多个i开头的文件就多输入几个字母
我这里是可以运行的。
#include <stdio.h>
char* weekname(char *p[], int n);
int main()
{
char* week[7]={"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};
int n;
printf ("Please input a digital:\n");
scanf ("%d", &n);
if (n>=1 && n<=7) {
printf ("星期%d的英文名是%s\n", n, weekname(week, n));
} else{
printf ("The digital is invalid\n");
}
return 0;
}
char* weekname(char *p[], int n)
{
return *(p+n-1);
}
比如你的程序是 a.out 可以这么写 <重定向输入 >重定向输出
a.out <input.txt >output.txt
Linux中一个进程启动时,都会打开3个文件:标准输入、标准输出和标准出错处理,这三个文件分别对应文件描述符0、1、2
printf("j !=0 \n");是fprintf(stderr,"j !=0 \n");的一个封装,功能是一样的
打开章节更目录,上面有一个笔记按钮(在问答旁边)
你说的是在编辑器vi下吗?
插入模式只能输入,按esc跳出input模式再用hjkl移动光标
根据我现在的理解,是输出的对象不一样。比如你想打印一个东西,它使用stdout来输出,但是打印机出错了,你得找个地方报错啊。所以就走stderr这条流来报错,这条流通常来说是指向显示器的,就会在显示器上显示打印机出错了。
没有区别。
1是标准输出的文件描述符,1>> 就是对标准输出进行追加重定向。省略文件描述符的话,默认就是对标准输出进行重定向。
相应的,0是标准输入的文件描述符,2是标准错误输出的文件描述符。