不同类型的数值 是否能进行运算.
我在写一个推算用户身份证相关信息的程序,现在遇到一个问题:不同类型的数据如何实现运算操作,如截图,一个是字符串类型 另一个是整形数据 我需要它们进行相减 结果报错了 如何解决这个问题?
求赐教!
程序代码:
#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" 的值 ; }