C语言
文章平均质量分 65
梁瑾
我是女生我在慢慢成长
展开
-
简单的C程序——实现小写字母转换为大写字母
C语言的学习有一段时间了,但最近好像把以前的都忘得差不多了,就再重新整理一下,虽然程序很简单,也算是加深印象吧。不能眼高手低啊。编程实现小写字母转换为大写字母#includemain(){ char ch; /*定义char型变量ch*/ puts("请输入一个字符:"); /*puts函数默认原创 2013-05-19 20:54:40 · 9308 阅读 · 0 评论 -
字符串指针与字符数组的区别
用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题:1. 字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块连续的内存空间中并以‘\0’作为串的结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。2. 对字符串指针方式char *ps="C Language";转载 2013-08-22 18:57:26 · 1387 阅读 · 0 评论 -
chdir getcwd 函数的使用过程中出现的问题
今天在敲代码的时候,发现一些小问题,各种资料各种查,未果。在这里贴出来希望路过的大神指点一二。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define SIZE 30 8 int main(void) 9 { 10 const原创 2013-10-04 11:48:57 · 1610 阅读 · 0 评论 -
流和缓冲区
一、流(stream):这里讨论的是标准I / O术语流(请勿将其与系统V的STREAMS I/O系统相混淆,后者可参见Stevens的《UNIX环境高级编程》第十二章)。 引用: 1)(K&R 《The C Programming Language》P241) 引用:A stream is a source or destination of data that may be ass转载 2013-10-06 10:02:50 · 1592 阅读 · 0 评论 -
fopen的用法
导读: 表头文件 #include 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的转载 2013-10-19 20:13:56 · 1761 阅读 · 0 评论 -
stack溢出 ** stack smashing detected ***: ./a.out terminated
该类错误是修改了返回指针,一般是由于1. 数组越界赋值。(数组没有边界检查)int a[8]; a[8],a[9],a[-1]。。都能正常编译,连接,运行时可能出错。2.使用 strcpy等不安全(不带长度检测的函数),char a[1], char *b="aaa"; strcpy(a,b); 局部变量(函数内的变量)存在栈中,应为栈是先下(低地址)生长的,故 函转载 2013-11-09 22:02:39 · 9265 阅读 · 0 评论 -
sizeof的详尽计算结构体字节数方法
Sizeof用法本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type转载 2013-11-13 14:45:37 · 1364 阅读 · 0 评论 -
sigaction 函数解析
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数oldactint sigaction(int signo,转载 2013-11-29 09:27:06 · 862 阅读 · 0 评论 -
errno.h
errno.herrno.h 是C语言C标准函式库里的标头档,定义了通过错误码来回报错误资讯的宏:errno宏定义为一个int型态的左值, 包含任何函式使用errno功能所产生的上一个错误码。一些表示错误码,定义为整数值的宏:EDOM 源自于函式的参数超出范围,例如sqrt(-1)ERANGE 源自于函式的结果超出范围,例如strtol("0xfffffffff",转载 2013-07-22 10:34:01 · 931 阅读 · 0 评论 -
已知m,n是正整数,编写程序求m中取n的组合数
已知m,n是正整数,编写程序求m中取n的组合数源程序:#includelong fac(int k) // k 为形式参数,简称形参,它用于接受主调函数中的变量的值。long指明了函数的返回值(在这里也{ 就是p)的类型是长整形。原创 2013-06-15 09:21:56 · 3704 阅读 · 0 评论 -
求n!
编程实现任意一个数的阶乘#includemain(){ int n,i; long f=1; puts("please input a number to n: "); scanf("%d",&n); for(i=1;i f=f*i;原创 2013-05-19 21:11:12 · 1085 阅读 · 0 评论 -
输入n个数,输出比平均值大的数(数组)
#include "stdio.h"#define N 100void main(){ int a[N],i,n; /*定义a[N]存放输入的数值,在C语言中,不允许定义动态数组,即在数组长度的表达式中,不能包含变量名*/ float ave,sum=0; puts("请确定参加运算的数据个数n:"); scanf("%d",&n); for(i=0;i/原创 2013-05-23 09:15:13 · 9236 阅读 · 0 评论 -
指针
在当今计算机中,一般以一个字节作为一个内存单元。给每个内存单元分配一个编号,称为内存单元的地址。 按照数据类型的不同,分配的内存单元的数目也不同。eg:int型数据占4个内存单元,char型占一个内存单元。一个变量所占用内存的首地址,称为该变量的地址。而一个变量的地址也称为该变量的指针。 int a; char ch; 对这两条语句,假设C编译程序给出如图所原创 2013-06-09 21:18:39 · 954 阅读 · 0 评论 -
字符串复制问题(二)
问题:编程序用逐个字符复制方式,实现字符串的复制为了编程方便,我们调用字符串复制函数strcpy源程序:#include#includemain(){ chars[20]="I love the world!",t[20]; strcpy(t,s); //此函数的地一个参数必须是字符数组名,第二个参数可以是字符常量,字符数组名,原创 2013-06-12 15:58:21 · 1010 阅读 · 0 评论 -
输入一个英文单词,判断该单词是否是回文,要求用字符数组实现
输入一个英文单词,判断该单词是否是回文,要求用字符数组实现算法设计:1.分别从左右两端开始,比较对应的字符是否相等2.若对应的字符相等,则继续比较下一对字符;否则,退出循环3.若所有对应的字符均相等,则是回文;否则,不是回文源程序:#include#includemain(){ char a[100]; int i,j;原创 2013-06-12 17:00:25 · 5101 阅读 · 1 评论 -
从键盘输入10个字符串存放到一个二维数组中,求出其中最大者并输出
从键盘输入10个字符串存放到一个二维数组中,求出其中最大者并输出算法设计如下:1.定义一个二维数组a[10][80]用于存放输入的10个字符串2.定义一个维字符数组max[80]用于存放目前的最大字符串3.将二维数组a的第0行中的字符串复制到max中4.若二维数组a的第i行的字符串大于字符数组max中的字符串,则将前者复制到max数组中5.循环执行4,直到a中的所有字符原创 2013-06-12 19:34:50 · 13333 阅读 · 1 评论 -
字符串复制问题(一)
实现字符串复制的一种方法是:将源字符串中的字符逐个地复制到目标数组中。1.编程序用逐个字符复制的方式,实现字符串的复制。问题分析(方法一)该方法就是从源字符串的第0个字符开始,通过循环将字符逐个复制到目标数组中。循环次数可由字符串长度控制。源程序:#include#include //加入字符串的预处理命令main(){ char原创 2013-06-12 15:20:40 · 1367 阅读 · 0 评论 -
无参函数的调用
我们在编写程序的时候,有时某个相对独立的程序段会重复使用多次才能实现理想的功能,这时我们可以把这个程序段单独拿出来,作为一个单独的函数使用例如我们要打印图形看图形我们可以知道出现星星的那段程序肯定会出现两次,我们可以把这段程序单独拿出来,作为一个单独的函数调用就行源程序:#includestdio.h>star()原创 2013-06-13 14:18:48 · 4720 阅读 · 1 评论 -
undefined reference to `pthread_create'
由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因: pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthr转载 2013-12-06 16:04:58 · 868 阅读 · 0 评论