h5都用什么网站,邢台论坛,ui设计培训哪家好,h5手机网站模板下载#x1f389; 前言
省流#xff1a;这不是正经的教学#xff0c;纯属是作者弱智操作导致的乱码问题#xff0c;绝不是是什么配置原因导致的。
#x1f389; 问题描述
贴一下我写的C语言代码#xff08;太久没写了#xff0c;最近学数据结构才拾起来#xff09;
#in… 前言
省流这不是正经的教学纯属是作者弱智操作导致的乱码问题绝不是是什么配置原因导致的。 问题描述
贴一下我写的C语言代码太久没写了最近学数据结构才拾起来
#include stdio.h
#includestring.h
#define MAXSIZE 100
typedef struct
{char no[20];char name[50];float price;
}Book;typedef struct{Book *elem;int length;
}SqList;int InitList(SqList *L);int main()
{SqList L;InitList(L);printf(%s,L.elem[0].name);
}int InitList(SqList *L)
{Book a[100];strncpy(a[0].no,114514,7);//多出一个长度是用于存储字符串末尾的空字?strncpy(a[0].name,红楼梦,4);a[0].name[sizeof(a[0].name) - 1] \0; // 手动添加空字符a[0].price 100;L-elem a;if(!L-elem){return -1;}L-length 0;return 0;
}
在主函数中我想要打印出第一本书名也就是“红楼梦”但是终端却输出红SW% 心肺骤停
我一开始还以为编码有问题但后来改成GBK还是存在这个问题。 这是我不知是哪根筋松动了注意到strncpy(a[0].name,“红楼梦”,4); 这一句出于本能反应我将4改成了一个较大的数——10. 再运行一下乱码消失了amazing
此时我恍然大悟哦对哟C语言中一个中文字符好像占两个字符我用4个存储空间肯定存不下“红楼梦”加上’\0’这三个字啊不说了羞死了赶紧去学C语言去了。