⑴ 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]!='