用vs code 跑乱码,用codeblock就正常
#include<iostream>
#include<stdio.h>
#define MAXLEN 10//定义窜的最大长度
typedef struct
{
char vec[MAXLEN];
int len;//串的实际长度
} Str;//可用Str来定义该类型的结构体变量
int LenStr(Str *r){
int i=0;
while(r->vec[i]!='\0'){
i++;
}
return i;
}
void ShowStr(Str *r){
printf("\n\t\t该串值为: ");
if(r->vec[0]=='\0'){
printf("空串! \n");
}else{
puts(r->vec);//使用puts函数输出字符串,格式为 puts(字符串组名)
}
}
int main()
{
Str a;
Str *r=&a;
r->vec[0]='\0';
char choice;
int ch=1;
printf("sad你好\n");
while(ch!=0){
printf("\n");
printf("\n\t\t 串子系统 *");
scanf("%c",&choice);
getchar();
if(choice=='1'){
printf("\n\t\t请输入一个字符串: ");
gets(r->vec);//使用get函数输入字符串 格式为 gets(字符串组名)
r->len=LenStr(r);
}else if(choice=='8'){
ShowStr(r);
int n=LenStr(r);
printf("串长度为:%d",n);
}
}
return 0;
}