本文目录一览:
- 1、digit【ch-‘0’】++在c语言中是什么意思?
- 2、C语言 digit是什么意思
- 3、将文件中所有的连续的阿拉伯数字以一个字串DIGIT代替,c语言实现,谢谢
- 4、C语言编程,写一函数digit(n,k),它把数n从右边起的第k位数字的值给出来,其中n为正整数,若n的位数不足k
digit【ch-‘0’】++在c语言中是什么意思?
digit[ch-'0']++; 在c语言中是一个语句。
digit 是一个一维数组, ch-'0' 得到一 个 数值,作为下标,
digit[ch-'0'] 是一个数组元素。
++ 是 后缀 ++,出了表达式后变量自增1运算, 即 让该数组元素 的值 增加 1:
digit[ch-'0']++; 就是 digit[ch-'0'] = digit[ch-'0'] + 1;
ch 是一个字符变量,例如 char ch='5'; '5' 的 ASCII 值,减去 '0' 的 ASCII 值 等于算术值 5。 ('0','5' 这些单引号括起的 叫 字符常量,数值等于该字符的ASCII 值)。
原语句就成了 digit[5] = digit[5] + 1;
程序例子:
#include stdio.h
int main()
{
int digit[10]={1,2,3,4,5,6,7,8,9,10};
int i;
char ch='5';
digit[ch-'0']++;
for (i=0;i10;i++) printf("%d ",digit[i]);
return 0;
}
输出:1 2 3 4 5 7 7 8 9 10
可以看出 digit[5] 原来等于 6, 自增1后 变 7。
C语言 digit是什么意思
指向结构变量的指针 float a=fn1(10.0); //第1种情况,系统生成要返回值的副本(即临时变量)
将文件中所有的连续的阿拉伯数字以一个字串DIGIT代替,c语言实现,谢谢
#include "stdafx.h"
#includestdio.h
#includeio.h
int main(int argc,char*argv[])
{
char buf[256],*filename=buf,*p="DIGIT";
char digit;
int c;
int i=0;
FILE *rfp,*wfp;
if(argc=2access(argv[1],0)==0)
strcpy(filename,argv[1]);
else
{
printf("输入待转换的文件名:");
gets(filename);
if(access(filename,0)!=0)
{printf("文件[%s]不存在",filename);exit(-1);}
}
if((rfp=fopen(filename,"rb"))==NULL)
{printf("文件[%s]打不开",filename);exit(-1);}
strcat(filename,".out");
if((wfp=fopen(filename,"wb"))==NULL)
{fclose(rfp);printf("输出文件[%s]打不开",filename);exit(-1);}
while(!feof(rfp))
{
c=fgetc(rfp);
if(c='0'c='9')
{
if(!i++) digit=c;//记下初个数字
}
else
{
if(i==1) fputc(digit,wfp);
else if(i1)fprintf(wfp,"%s",p);
i=0;
if(c!=EOF||!feof(rfp))//防止结束前的最后一个被写入
fputc(c,wfp);
}
}
fclose(wfp);
fclose(rfp);
printf("处理完毕!\n");
system("pause");
}
//前几天回答过一回,只是大号正被禁封,回答被删除,新建的小号又看到这个题还没采纳满意回答,而程序还在硬盘上,就再来回答一次,程序通过VC7调试可正常行
//不知道我理解得对不对,"123 1 12345" 替成 "DIGIT 1 DIGIT",是否合题意?
C语言编程,写一函数digit(n,k),它把数n从右边起的第k位数字的值给出来,其中n为正整数,若n的位数不足k
#includestdio.h
int digit(int n,int k)
{
int i,temp1,temp2;
for(i = 0;i k; i++)
{
temp1 = n%10;
n = n/10;
}
return temp1;
}
void main()
{
int n,k,result;
printf("请输入数字n和k:\n");
scanf("%d %d",n,k);
result = digit(n,k);
printf("%d从右边数第%d位为%d",n,k,result);
}
很简单的,你先看看,不懂了再问。望采纳!