收集C语言常用,经典代码。

guixuhui2 2011-04-20 12:51:36
希望大家把好的代码分享出来。
我写写个:
将整型或浮点型转为字符串:

int a=1234;
float b=12.34;
char a1[5];
char b1[6];
sprintf(a1,"%d",a);
sprintf(b1,"%f",b);
...全文
663 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaolomg 2011-05-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 last_c_ 的回复:]

printf("Hello world!\n");
[/Quote]
这样行啊
kingpin58 2011-05-27
  • 打赏
  • 举报
回复
MARK
sunrier 2011-05-27
  • 打赏
  • 举报
回复
TC 2.0
guixuhui2 2011-05-26
  • 打赏
  • 举报
回复
大家给点力啊!有好的就分享出来嘛
CrackValue 2011-05-26
  • 打赏
  • 举报
回复
想给力,但是我写的垃圾代码不敢拿出来见人啦,
呵呵,支持楼主,学习了
fankys 2011-05-26
  • 打赏
  • 举报
回复
mark
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 guixuhui2 的回复:]
引用 32 楼 safeqq4 的回复:

C/C++ code

typedef struct __lock{
unsigned char status;
unsigned char l_ber;
}__lock, __LOCK, *P__LOCK, **LP__LOCK;

#define BLOCK_NOT ……

这个是什么功能?
[/Quote]
定义一个结构体
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yico_gaga 的回复:]
引用 2 楼 last_c_ 的回复:

printf("Hello world!\n");

这个入门必须写的~知道出处吗?
[/Quote]
相传那个啥通过无数的艰辛,建立C语言的时候,第一次在机器上输出的就是这么句hello word!
后来那个啥又进行了修改,人们的修改,最后成了那个经典的
main()
{
printf("Hello world");
}
后来就成为许多语言开头的第一句
鸟辉 2011-05-23
  • 打赏
  • 举报
回复
mark。。。。。。。。。。。。
guixuhui2 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 safeqq4 的回复:]

C/C++ code

typedef struct __lock{
unsigned char status;
unsigned char l_ber;
}__lock, __LOCK, *P__LOCK, **LP__LOCK;

#define BLOCK_NOT ……
[/Quote]
这个是什么功能?
wang2666 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhao4zhong1 的回复:]

C/C++ code
#define SWAP(a,b) (a)^=(b)^=(a)^=(b)
[/Quote]
太给力了
朱韦刚 2011-05-23
  • 打赏
  • 举报
回复
hello world!!
safeqq4 2011-05-23
  • 打赏
  • 举报
回复
随机取值算法范围(4字节):
typedef struct __rantype
{
unsigned char status;
unsigned long ran_size;
unsigned long min_size;
unsigned long max_size;
}__rantype, __RANTYPE, *P__RANTYPE, **LP__RANTYPE;

DWORD WINAPI Trandom(PVOID f)
{
P__RANTYPE m_ran = (P__RANTYPE)f;
if( m_ran == NULL )
{
return -1;
}
if( (m_ran->status & 0x01) != 0x01 )
{
return 0;
}
::SetThreadPriority(::GetCurrentThread(), THREAD_PRIORITY_IDLE);
SYSTEMTIME m_time;
unsigned long r_char = 0;
while( (m_ran->status & 0x02) != 0x02 )
{
::GetLocalTime(&m_time);
r_char = 0;
m_time.wSecond += m_time.wMilliseconds;
if( (m_time.wMilliseconds & 0x0001) != 0x0001 )
{
++m_ran->ran_size;
Sleep(m_time.wMilliseconds);
}
if( m_ran->ran_size > m_ran->max_size )
{
::GetLocalTime(&m_time);
m_ran->ran_size = m_time.wSecond;
}
if( m_ran->ran_size < m_ran->min_size )
{
m_ran->ran_size = m_time.wSecond | (m_time.wMilliseconds << 16);
}
++m_ran->ran_size;
Sleep(1);
}
m_ran->status = 0;
return 1;
}

void* RandomInit(unsigned long m_Min = 0, unsigned long m_Max = 0xffffffff)
{
P__RANTYPE m_Random = (P__RANTYPE)malloc(sizeof(__RANTYPE));
if( m_Random == NULL )
{
return NULL;
}
m_Random->min_size = m_Min;
m_Random->max_size = m_Max;
m_Random->status = 0x01;
::CreateThread(NULL, NULL, Trandom, m_Random, NULL, NULL);
return m_Random;
}

void FreeRandom(void* m_Ranp)
{
if( m_Ranp == NULL )
{
return;
}
P__RANTYPE m_Random = (P__RANTYPE)m_Ranp;
m_Random->status = 0x01 | 0x02;
unsigned char m_Nber = 0;
while( m_Random->status != 0 && m_Nber < 254 )
{
++m_Nber;
Sleep(100);
}
free(m_Random);
}

unsigned long GetRandoms(void* m_Ranp)
{
if( m_Ranp == NULL )
{
return 0;
}
P__RANTYPE m_Random = (P__RANTYPE)m_Ranp;
return m_Random->ran_size;
}
safeqq4 2011-05-23
  • 打赏
  • 举报
回复

typedef struct __lock{
unsigned char status;
unsigned char l_ber;
}__lock, __LOCK, *P__LOCK, **LP__LOCK;

#define BLOCK_NOT 0x00
#define BLOCK_OK 0x01
#define BLOCK_EXIT 0x02

P__LOCK LockInit( void )
{
P__LOCK l_hdr = (P__LOCK)malloc(sizeof(struct __lock));
if( l_hdr == NULL )
{
return NULL;
}
l_hdr->l_ber = 0;
l_hdr->status = BLOCK_NOT;
return l_hdr;
}

char Lock( P__LOCK m_lock )
{
if( m_lock == NULL )
{
return -1;
}
++m_lock->l_ber;
const unsigned char l_ber = m_lock->l_ber;
if( (m_lock->status & BLOCK_OK) == BLOCK_OK && m_lock->l_ber > 0 )
{
LockCf:NULL;
while( (m_lock->status & BLOCK_OK) == BLOCK_OK )
{
if( (m_lock->status & BLOCK_EXIT) == BLOCK_EXIT )
{
return 0;
}
Sleep(0);
}
if( m_lock->l_ber != l_ber )
{
goto LockCf;
}
}
m_lock->status |= BLOCK_OK;
return 1;
}

char Unlock( P__LOCK m_lock )
{
if( m_lock == NULL )
{
return -1;
}
--m_lock->l_ber;
m_lock->status &= (~BLOCK_OK);
return 1;
}
bruce_sha 2011-05-23
  • 打赏
  • 举报
回复
楼主等大家回答完,整理下发给大家
静革 justme0.com 2011-05-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hnuqinhuan 的回复:]
这儿还真的没写过
a = a ^ b;
b = a ^ b;
a = a ^ b;
[/Quote]

更简的:
a^=b;
b^=a;
a^=b;
记忆也方便。

我再写个: putchar(10);
zdnexus 2011-05-21
  • 打赏
  • 举报
回复
MARK一下。。等下来抄一下。
如此美丽的你 2011-05-20
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 zhao4zhong1 的回复:]
C/C++ code
#include <stdio.h>
int main() {
int IP[4];
int i;
char c;

printf("请输入一个ip地址:");
while (1) {
fflush(stdin);
if (5==scanf("%d.%d.%d.%d%c",&I……
[/Quote]
!!!!!!!!!!!!!!!!!!!!!!!!!!!good
guixuhui2 2011-05-18
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 zm19870528 的回复:]
C/C++ code
unsngned int val = (a[0]<<24) ^ (a[1]<<16) ^ (a[2]<<8) ^a[3];
[/Quote]
你们能简明扼要的说明一下功能吗?
loonger110 2011-05-18
  • 打赏
  • 举报
回复
//int a[][];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=(i/j)*(j/i);
加载更多回复(25)

69,372

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧