[C语言sizeof问题]经下列语句“char x=65 ; float y=7.3; int a=100; double b=4.5;”定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为(B) sizeof的功能:判断数据类型长度符(求...+阅读
//很明显这是结构体定义
struct studentNode{
char name[30];
char sno[30];
};
//比较字符数组的函数,对于结构体中的字符数组,直接用串比较可能会错误处理一些特殊字符。
bool compare(const char* str1,const char* str2){
for(int i = 0 ; i if(str1[i] != str2[i]){
if(str1[i] >str2[i]){
return true;
}else{
return false;
}
}
}
return true;
}
//排序函数,传入结构体数组指针,长度,第三个参数是是否为降序
void sortWithSno(studentNode* stu, int len , bool isdesc){
studentNode temp;
for(int i = 0 ; i for(int j = 0 ; j if(isdesc){
if(compare(&(*(stu+i)->sno) , &(*(stu+j)->sno))){
temp = *(stu+j);
*(stu+j) = *(stu+i);
*(stu+i) = temp;
}
}else{
if(!compare(&(*(stu+i)->sno) , &(*(stu+j)->sno))){
temp = *(stu+j);
*(stu+j) = *(stu+i);
*(stu+i) = temp;
}
}
}
}
}
//同上,可以将两个函数合并,中间再加一层结构体成员的枚举选择器
void sortWithName(studentNode* stu, int len , bool isdesc){
studentNode temp;
for(int i = 0 ; i for(int j = 0 ; j if(isdesc){
if(compare(&(*(stu+i)->name) , &(*(stu+j)->name))){
temp = *(stu+j);
*(stu+j) = *(stu+i);
*(stu+i) = temp;
}
}else{
if(!compare(&(*(stu+i)->name) , &(*(stu+j)->name))){
temp = *(stu+j);
*(stu+j) = *(stu+i);
*(stu+i) = temp;
}
}
}
}
}
//很明显这是个打印函数
void print(studentNode stu[],int len){
for(int i = 0 ; i printf("%d: name: %s sno:%s\n",i,stu[i].name,stu[i].sno);
}
}注意这程序中使用了结构体直接复制,老TC应该会挂掉,用最新的GCC能编译。
以下为关联文档:
C语言的逻辑运算符有点难理解!一、逻辑运算符: 包括:1。&&;逻辑与 2。||逻辑或 3。!逻辑非 逻辑运算符用于对包含关系运算符的表达式进行合并或取非 对于使用逻辑运算符的表达式,返回0表示“假”,返回1表示...
C语言结构体的使用#include#include struct bir { int year; int month; int day; }; typedef struct { char name[10]; char sex; struct bir d; int age; float pay; }person; void main()...
C语言结构体如何使用你好: C语言中的结构体,听名字有点吓人,其实不难。下面我给你详细说明: 首先,结构体,是自定义的数据类型,就如int 、 char 、float 这些类型是编译器自定义的类型一样。那么,结构体...
C语言结构体Struct怎么使用在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体的定义形式为:struct 结构体名{结构体所包含的变量或数组};结构体是一种集合,它里面包含了多个变量或数组,它们...
C语言中定义一个结构体如何在不同的 C文件中使用比如三个.c文件一个.h文件 1. c 2.c 3.c 4.h 这三个头文件都引用4.h include<4.h> 4.h中定义一个结构体类型struct test{}; 1.c中定义一个该结构体类型的全局变量struct tes...
C语言结构体使用问题 DevC警告:不兼容的指针类型初始化。 struct table_linkNode { struct Node *next; }; 有问题,你这个next指针定义不对,应该是 struct table_linkNode { struct table_linkNode *next;...
用C语言中的结构体编写程序#include<stdio.h> struct book{ char name[10]; int num; }book; int main() { int i; struct book b[20]; for(i=0;i<20;i++)//依次读入20个书名 {scanf("%s",&b[i].name);...
C语言使用结构体进行简单运算怎么做#include#includeusing namespace std;typedef struct Info{int num;//编号string name;//姓名float money1;//工资float money2;//代扣税金float money3;//代扣公积金float mone...
这道C语言题用结构体怎么做啊!求大神!#include<stdio.h> #include<stdlib.h> typedef struct Worker{ int number; char name[32]; char department[32]; char workshop[32]; } wk; wk a[1024]; void lookup(wk...