55字符串解析

时间:2023-01-06 19:34:47

set/A 1+2+3


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {
 char l_v1[100] = { 0 };
 char l_v2[100] = { 0 };
 printf("请输入一个表达式:");
 fgets(l_v1, sizeof(l_v1), stdin);
 sprintf(l_v2, "set /A %s", l_v1);
 system(l_v2);
 printf("\n");
 system("pause");
}



假设我们在C语言中要实现一个类似的功能.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {
 char l_v1[100] = "100*56=";
 int l_第一整数, l_第二整数, l_结果;
 char l_符号;

 sscanf(l_v1, "%d%c%d=", &l_第一整数, &l_符号, &l_第二整数);

 switch (l_符号)
 {
 case '+':
  l_结果 = l_第一整数 + l_第二整数;
  break;
 case '-':
  l_结果 = l_第一整数 - l_第二整数;
  break;
 case '*':
  l_结果 = l_第一整数 * l_第二整数;
  break;
 case '/':
  l_结果 = l_第一整数 / l_第二整数;
  break;
 }

 sprintf(l_v1, "%d%c%d=%d", l_第一整数, l_符号, l_第二整数, l_结果);
 puts(l_v1);

 system("pause");
}

strchr  寻找字符

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {
char l_v1[100] = { 0 };
fgets(l_v1, sizeof(l_v1), stdin);
char* result = strchr(l_v1, 'c');
//printf("%x\n", 找到以后的字符
if (result == 0) {
printf("找到c");
}
else {
printf("没有找到c");
}
system("pause");
}


strstr  寻找字符串

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {
char l_v1[100] = { 0 };
fgets(l_v1, sizeof(l_v1), stdin);
char *result =strstr(l_v1, "你好");
//printf("%x\n", result);
if (result == 0) {
printf("找到你好");
}
else {
printf("没有找到你好");
}
system("pause");

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main() {
char 账户[30] = { 0 };
char 密码[30] = { 0 };
printf("请你输入账户");
fgets(账户, sizeof(账户), stdin);
printf("请你输入密码");
fgets(密码, sizeof(密码), stdin);

账户[strlen(账户) - 1] = 0;
账户[strlen(密码) - 1] = 0;
char l_v1[5] = "你好";
char l_v2[10] = "11234567";
if (strcmp(l_v1, 账户) == 0 && strcmp(l_v2, 密码) == 0) {
printf("你的账户余额1000元");
}
else {
printf("你输入账户密码有误");
}
system("pause");
}