Preface:本次学习主要是以复习态度而来,意在加强C语言的理解,本文主要针对于网站中出现的一些问题
我的简单Makefile:
CFLAGS=-Wall
cc= gcc
cflag= -Wall -g
allfiles= ex1.c ex2.c ex3.c ex4.c ex5.c ex4-1.c
objs = $(allfiles:.c=.o)
execs = $(patsubst %.c,%,$(allfiles))
m:
vim Makefile
all: $(execs)
$(execs): $(objs)
$(cc) $(cflag) $@.o -o $@
$(objs): $(allfiles)
$(cc) $(cflag) -c $^
cln:
rm -f $(execs) $(execs)
--------------------------------------------------------------------------------------------------------
ques1:
不接入链接库
1:去掉标点符号
1.去掉return 后边的 ;
2.多写五行文本
#include<stdio.h>
int main(int argc,char *argv[]){
puts("Hello,Linux World!\n");
puts("Hello.Linux Shell!\n");
puts("Hello,every body \\n \n ");
puts("Hello,every simens \\t \t you! \n");
puts("This is my first C program \t also my first step of ysyx\n");
return 0;
}
3.看man puts
SYNOPSIS
-
int fputc(int c, FILE *stream);
:将字符c
写入到指定的文件流stream
中,返回写入的字符或者出错时返回EOF
。 -
int fputs(const char *s, FILE *stream);
:将字符串s
写入到指定的文件流stream
中,不包括字符串结束符\0
,返回非负值表示成功,出错返回EOF
。 -
int putc(int c, FILE *stream);
:将字符c
写入到指定的文件流stream
中,返回写入的字符或者出错时返回EOF
。 -
int putchar(int c);
:将字符c
写入标准输出流(通常是屏幕),成功时返回写入的字符,出错时返回EOF
。 -
int puts(const char *s);
:将字符串s
写入到标准输出流(通常是屏幕)中,自动在字符串末尾添加换行符\n
,成功时返回非负值,出错时返回EOF
。
DESCRIPTION
fputc()将字符c(转换为unsigned char)写入流。
fputs()将字符串s写入流,不包括字符串的结束符null byte ('\0')。
putc()等同于fputc(),不同之处在于它可能被实现为一个宏,该宏对stream进行多次评估。
putchar(c)等同于putc(c, stdout)。
puts()将字符串s和尾随换行符写入stdout。
对这里描述的函数的调用可以与其他输出函数从stdio库混合使用,用于相同的输出流。
有关非锁定对应函数,请参见unlocked_stdio(3)。
RETURN VALUE
fputc(), putc() 和 putchar() 返回写入的字符,作为无符号 char 转换为 int,或者在出现错误时返回 EOF。
puts() 和 fputs() 在成功时返回非负数,或者在出错时返回 EOF。
BUGS
不建议混合调用来自stdio库的输出函数与针对与同一输出流相关联的文件描述符的write(2)低级调用;结果将是未定义的,并且很可能不是您想要的。