⑴ c语言中字符串加减问题
如果是JS铁定是NAN,C语言你为啥不在电脑上试下。
结果如图
⑵ C语言字符相加问题
本质上没区别,都是字符的加法,但结果区别很大,'1'+'0'本质上是两个字符相加,会按ascii码转成对应的数值再加,'0'的ascii码为48,'1'为49,相加后为97(97是'a'的ascii码),所以如果你用
printf("%d %c",'1'+'0','1'+'0');
会输出97 a
同样的原理1+'0',会得到49(也就是'1'的ascii码),如果是
printf("%d %c",1+'0',1+'0');
就会输出49 1
⑶ c语言 字符加减运算
选A吧,首先x-'a'转为数字为5,5+1=6,'A'+6=G,int型与字符型相加,会把int型自动转为字符型。
⑷ c语言可以像python一样直接加减字符串么 比如 print("#"+"good"+"#"*7
这个不行,C语言有自己的字符串命令
⑸ c语言问题字符加减操作
nz函数是没有问题的。
其他的我在调试中,稍等
---------------------------------------------------------------------------------------------------
第一种方法,按字符进行计算:
#define max 1000
/*1. 大整数加法计算两个整数m、n的和,0<=m,n<=10的50次方。
输入输出格式:本题只有1组输入数据,每组数据只有1行,
每组数据包含两个0到10的50次方之间的大整数,两个整数中间用1个空格分隔。
对于每组数据,输出一行,表示两个大整数的和。*/
void nz(char *s)//将字符串逆置
{
int l,temp;
l=strlen(s);
for(int i=0;i<l/2;i++)
{
temp=s[i];s[i]=s[l-i-1];s[l-i-1]=temp;
}
}
void main()
{
char m[max],n[max],*r,*s,h[max+1]={0};
long int a,b;
int i,j,k;
printf("输入两个很大的数!\n");
r=m;s=n;
printf("输入第一个大数!\n");
gets(r);fflush(stdin);
printf("输入第二个大数\n");
gets(s);fflush(stdin);
a=strlen(r);
b=strlen(s);
nz(r);
nz(s);
if(a>b)
{
for(j=b;j<a;j++)
s[j]='0';
/*for(j=0;j<b;j++)
printf("%c",s[j]);*/
for(i=0;i<a;i++)
{
h[i]=r[i]+s[i]-'0'; //字符'i'=i+'0',两个相加会多出一个'0'
if(h[i]>'9')//字符判断>=10的方法是>'9'
{
h[i]=h[i]-10;
h[i+1]=h[i+1]+1;
}
}
}
else if(a<b)
{
for(j=a;j<b;j++)
r[j]='0';
for(i=0;i<b;i++)
{
h[i]=r[i]+s[i]-'0';//字符'i'=i+'0',两个相加会多出一个'0'
if(h[i]>'9') //字符判断>=10的方法是>'9'
{
h[i]=h[i]-10;
h[i+1]=h[i+1]+1;
}
}
}
puts("\n");
for(k=((a>b)?a:b);k>=0;k--)
{
if(h[k]==0)continue;
else printf("%c",h[k]); //输出的是整数
}
}
⑹ 在c语言中字符串不会进行加减乘除等算术运算式吗
不行,只有int,float等数值类型可以进行算数运算,字符串不可以,但是字符串可以通过加号进行拼接
⑺ C语言 字符串加减问题,请个位进来看看
voidrecon(chararr[],int*value);
intmain(){
chararr[250];
charch=0;
intvalue=0;
inta=0;
intc=0;
inti=0;
gets(arr);
recon(arr,&value);
printf("%d ",value);
}
voidrecon(chararr[],int*value){
chartemp[250];
charch=0;
size_tat=0,i=0;
charc=0;
ints=0;
while(arr[i]!='