c语言原子函数 c语言函数的原型

C语言FindWindow和SetFocus的问题

FindWindow返回HWND类型的句柄。在MSDN上关于SetFocus函数的介绍,其中有一句很关键“该窗口必须与调用线程的消息队列相关。”意思就是说在窗口线程中才可以对这个窗口SetFocus(),估计你是别的线程中对查找到的窗口,然后使用SetFocus,所以失败了。

创新互联建站专注于企业成都营销网站建设、网站重做改版、旌阳网站定制设计、自适应品牌网站建设、H5开发商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为旌阳等各大城市提供网站开发制作服务。

SetFocus函数的说明:

函数功能:该函数对指定的窗口设置键盘焦点。该窗口必须与调用线程的消息队列相关。

函数原型:HWND

SetFocus(HWND

hWnd)。

参数:

hWnd:接收键盘输入的窗口指针。若该参数为NULL,则击键被忽略。

返回值:若函数调用成功,则返回原先拥有键盘焦点的窗口句柄。若hWnd参数无效或窗口未与调用线程的消息队列相关,则返回值为NULL。若想要获得更多错误信息,可以调用GetLastError函数。

数据结构广义表编程(C语言)

/*

广义表的实现

author: kk.h

date: 2006.10

*/

#include "stdio.h"

typedef struct node

{

int tag;

union{struct node *sublist;

char data;

}dd;

struct node *link;

}NODE;

/* 递归创建广义表,注意参数比较复杂,指针的指针 */

NODE *creat_GL(char **s)

{

NODE *h;

char ch;

ch=*(*s);

(*s)++;

if(ch!='\0')

{

h=(NODE*)malloc(sizeof(NODE));

if(ch=='(')

{

h-tag=1;

h-dd.sublist=creat_GL(s);

}

else

{

h-tag=0;

h-dd.data=ch;

}

}

else

h=NULL;

ch=*(*s);

(*s)++;

if(h!=NULL)

if(ch==',')

h-link =creat_GL(s);

else

h-link=NULL;

return(h);

}

/* 递归打印广义表 */

vOId prn_GL(NODE *p)

{

if(p!=NULL)

{

if(p-tag==1)

{

printf("(");

if(p-dd.sublist ==NULL)

printf(" ");

else

prn_GL(p-dd.sublist );

}

else

printf("%c",p-dd.data);

if(p-tag==1)

printf(")");

if(p-link!=NULL)

{

printf(",");

prn_GL(p-link);

}

}

}

/* 递归复制广义表 */

NODE *copy_GL(NODE *p)

{

NODE *q;

if(p==NULL) return(NULL);

q=(NODE *)malloc(sizeof(NODE));

q-tag=p-tag;

if(p-tag)

q-dd.sublist =copy_GL(p-dd.sublist );

else

q-dd.data =p-dd.data;

q-link=copy_GL(p-link);

return(q);

}

/* 求表的深度函数(有错误?) */

int depth(NODE *p)

{

int h,maxdh;

NODE *q;

if(p-tag==0) return(0);

else

if(p-tag==1p-dd.sublist==NULL) return 1;

else

{

maxdh=0;

while(p!=NULL)

{

if(p-tag==0) h=0;

else

{q=p-dd.sublist;

h=depth(q);

}

if(hmaxdh)

maxdh=h;

p=p-link;

}

return(maxdh+1);

}

}

/* 求原子结点的个数函数 */

int count(NODE *p)

{

int m,n;

if(p==NULL) return(0);

else

{

if(p-tag==0) n=1;

else

n=count(p-dd.sublist);

if(p-link!=NULL)

m=count(p-link);

else m=0;

return(n+m);

}

}

main()

{

NODE *hd,*hc;

char s[100]="(a,(b,(c,d)))",*p;

/*p=gets(s);*/

p=s;

hd=creat_GL(p);

hc=copy_GL(hd);

printf("\ncopy after:");

prn_GL(hc);

printf("\ndepth=%d (wrong?)",depth(hc));

printf("\ncount=%d",count(hc));

getch();

}

C语言计算原子量

/*

只有C H O N元素

C 12。01 H 1。008 O 16。00 N 14。01

输入C6H5OH

输出94.108

*/

#includestdio.h

int main()

{

printf("请输入化学式:\n");

char c;

int count_c=0,count_h=0,count_o=0,count_n=0;

double mass=0.0;

int count=0;

scanf("%c",c);//读取第一个字符

while(c!='\n') //读取字符直到回车

{

switch (c) { //处理四种情况,四种元素

case 'C': //C元素

scanf("%c",c); //读取下一个字符

if((c='0')(c='9'))//如果下一个是数字则准备读该数字否则准备该元素加一

count=0;

else count=1;

while((c='0')(c='9'))//读取元素符号后面的数字

{

count=count*10+(c-'0');

scanf("%c",c);

}

count_c+=count;//累加该种元素

break;

case 'H':

scanf("%c",c);

if((c='0')(c='9'))

count=0;

else count=1;

while((c='0')(c='9'))

{

count=count*10+(c-'0');

scanf("%c",c);

}

count_h+=count;

break;

case 'O':

scanf("%c",c);

if((c='0')(c='9'))

count=0;

else count=1;

while((c='0')(c='9'))

{

count=count*10+(c-'0');

scanf("%c",c);

}

count_o+=count;

break;

case 'N':

scanf("%c",c);

if((c='0')(c='9'))

count=0;

else count=1;

while((c='0')(c='9'))

{

count=count*10+(c-'0');

scanf("%c",c);

}

count_n+=count;

break;

default:

printf("error;bad input\n");

break;

}//end switch

}//end while

//printf("C%dH%dO%dN%d\n",count_c,count_h,count_o,count_n);

mass=12.01*count_c+1.008*count_h+16.00*count_o+14.01*count_n;//计算总质量

printf("mass:%lf\n",mass);//输出总质量

system("pause");//暂停等待用户继续

}


网站名称:c语言原子函数 c语言函数的原型
分享链接:http://scyanting.com/article/dddhcji.html