Learn C the hard way :一些简单问题处理

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

        

  1. int fputc(int c, FILE *stream);:将字符c写入到指定的文件流stream中,返回写入的字符或者出错时返回EOF

  2. int fputs(const char *s, FILE *stream);:将字符串s写入到指定的文件流stream中,不包括字符串结束符\0,返回非负值表示成功,出错返回EOF

  3. int putc(int c, FILE *stream);:将字符c写入到指定的文件流stream中,返回写入的字符或者出错时返回EOF

  4. int putchar(int c);:将字符c写入标准输出流(通常是屏幕),成功时返回写入的字符,出错时返回EOF

  5. 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)低级调用;结果将是未定义的,并且很可能不是您想要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值