各位大侠看看我这个代码,我要把手机号输入到一个变量X里然后把里面每一位单独输出,我这代码怎么出错啊?

来源:百度知道 编辑:UC知道 时间:2024/07/07 01:18:31
各位大侠看看我这个代码,我要把手机号输入到一个变量X里然后把里面每一位单独输出,我这代码怎么出错啊?

#include<stdio.h>
void main()
{

int x;
int ge,shi,bai,qian,wan,shiwan,baiwan,qianwan,yi,shiyi,baiyi;
printf("请输入手机号码:");
scanf("%d",&x);
//==================================把11位的手机号码分解成各位

baiyi=x%100000000000/10000000000;
shiyi=x%10000000000/1000000000;
yi=x%1000000000/100000000;
qianwan=x%100000000/10000000;
baiwan=x%10000000/1000000;
shiwan=x%1000000/100000;

wan=x%100000/10000;
qian=x%10000/1000;
bai=x%1000/100;
shi=x%100/10;
ge=x%10;
//==================================
printf("%d",baiyi);
printf("%d",shiyi);
printf("%d",yi);
printf("%d",qianwan);
printf("%d",baiwan);
printf("%d",shiwan);
printf("%d",wan);
printf("%d",qian);
printf("%d",b

int型的长度达不到11位
可以这么写:
#include<stdio.h>
void main()
{
char x[12];
int i;

printf("请输入手机号码:");
scanf("%s",&x);
for(i=0;i<11;i++)
printf("第%d个数是:%c\n",i,x[i]);

baiyi=x%100000000000/10000000000;
shiyi=x%10000000000/1000000000;
这两行运算 超过了int型范围