重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、switch函数只能对整数类型的变量进行枚举,而字符串类型不属于整型变量。因此,必须对字符串进行转化。根据不同的字符串比较结果,执行不同的操作。
为友好等地区用户提供了全套网页设计制作服务,及友好网站建设行业解决方案。主营业务为网站建设、成都网站制作、友好网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
2、例程:
假如有这几个固定的字符串"string1","string2",..."stringn",可以做这种变换:
char str[100]="..."//假设已经赋值了
int i=0;
char str1[]="string1",str2[]="string2",str3[]="string3";//可以任意设
if(strcmp(str,str1)==0)//比较,如果str数组中存的刚好是字符串string1,下面同理,
i=1;
else if(strcmp(str,str2)==0)
i=2;
else if(strcmp(str,str3)==0)
i=3;
else
i=4;
//这样就映射出来了,用i的值,来映射不同的str
switch(i)
{
case 1:
...
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
dafault:
....
break;
}
首先对于一个整数,无论是十进制还是十六进制,它的值是一定的。
所以,转换16进制和10进制原理是一样的,先求出转换后的值,然后再以十六进制的形式输出就行了。
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
你不会是直接从网页里面复制就粘贴到编辑器里面吧?
那样不行的,你自己重新输入一下。或者先拷贝到文本文档里面,再从文本文档里面复制。从网页里面直接复制有特殊字符的。
还有,程序函数不能在主函数里面定义的。
#include
int
convert(char
*
str);
void
main()
{
char
str[20];
int
result;
scanf("%s",str);
//自己输入一个十六进制的串
result
=
convert(str);
printf("%0x",result);
}
int
convert(char
*
str)
{
int
i,sum
=
0;
for(i
=
0;str[i]
!=
'\0';i++)
{
if(str[i]='0'
str[i]='9')
sum
+=
sum*16
+
str[i]-'0';
else
if(str[i]='f'
str[i]='a')
sum
+=
sum*16
+
str[i]-'a'+1;
else
if(str[i]='F'
str[i]='A')
sum
+=
sum*16
+
str[i]-'A'+1;
}
return
sum;
}
c语言中,可以使用atoi()函数将字符串转化成整数型并输出。
atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。
如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
扩展资料:
C语言常用函数:
1、int abs(int i)
返回整型参数i的绝对值。
2、double cabs(struct complex znum)
返回复数znum的绝对值。
3、double fabs(double x)
返回双精度参数x的绝对值。
4、long labs(long n)
返回长整型参数n的绝对值。
5、double exp(double x)
返回指数函数ex的值。
6、double frexp(double value,int *eptr)
返回value=x*2n中x的值,n存贮在eptr中。
7、double ldexp(double value,int exp)
返回value*2exp的值。
8、double log(double x)
返回logex的值。
9、double log10(double x)
返回log10x的值。
10、double pow(double x,double y)
返回x^y的值。
参考资料来源:百度百科-atoi