不同类型的数值 是否能进行运算.
我在写一个推算用户身份证相关信息的程序,现在遇到一个问题:不同类型的数据如何实现运算操作,如截图,一个是字符串类型 另一个是整形数据 我需要它们进行相减 结果报错了 如何解决这个问题?
求赐教!
程序代码:
#include <stdio.h>
#include <string.h>
#include <windows.h>
char *String_cut(char *src, int s, int len);//指定字符串截取函数
int main()
{
char ID_NUM[20];
int Age;//用户年龄
char *Year=NULL;//出生年份
system("title 推算身份证信息!");
system("color F9");
printf("身份证信息计算程序!\n");
printf("请输入您的18位身份证号码,回车结束!:");
scanf("%s",ID_NUM);
while(strlen(ID_NUM)<18){
system("cls");
printf("身份证信息计算程序!\n");
printf("输入有误\n");
printf("请重新输入您的 18 位身份证号码,回车结束!:");
scanf("%s",ID_NUM);
}
printf("您的身份证信息:\n");
printf("------------------------------------------------------------------\n");
Year=String_cut(ID_NUM,6,4);
printf("1.用户名:_\n");
printf("2.用户出生日期:%s年\n",Year);
printf("3.当前用户年龄:%d岁\n",2015-Year); //用今年 2015减去用户出生日期就是用户年龄 2015-Year;
system("pause");
return 0;
}
char *String_cut(char *src, int s, int len)
{
int src_size = strlen(src) + 1;
char *Cut_string = (char*)malloc(src_size);
if (!Cut_string)
return NULL;
strncpy(Cut_string, src + s, len);// strncpy不会给你自动补上结束符号,要注意
Cut_string[len] = 0;
return Cut_string;//返回成功截取的" Cut_string" 的值 ;
}








