#include<stdio.h>
void s_trcat(char *s1,char *s2)//连接两个字符串
void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1
int s_trcmp(char *s1,char *s2)//两个字符串比较大小
int s_trlen(char *s)//计算一个字符串的长度
int main()
{
char s1[11]="12345", s2[11]="ABCDE"
char x1[11]="12345",x2[11]="SSSKK"
char str1[11]="ABCD",str2[11]="ACB"
char s[11]="ABCDEF"
int n,len
s_trcat(s1,s2)//拼接s1,s2
printf("拼接s1,s2,输出s1\n")
puts(s1)
s_trcpy(x1,x2)//将x2的内容复制给x1
printf("将x2的内容复制给x1,输出x1\n")
puts(x1)
n=s_trcmp(str1,str2)//比较str1与str2大小,返回一个整数,代表比较的结果
if(n==0)
printf("str1与str2相同\n")
if(n==1)
printf("str1大于str2\n")
if(n==-1)
printf("str1小于str2\n")
len=s_trlen(s)//计算字符串s的长度,并返回一个整数(字符串长度),
printf("字符串s的长度:%d\n",len)
}
void s_trcat(char *s1,char *s2)//连接两个字符串
{
char *p=s1
char *q=s2
while(*p)
p++
while(*q)
{
*p=*q
p++
q++
}
*p='\0'//给新字符串尾部加个结束符
}
void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1
{
char *p=s1
char *q=s2
while(*p++=*q++)
*p='\0'//给新字符串尾部加个结束符
}
int s_trcmp(char *s1,char *s2)//两个字符串比较大小
{
char *p=s1
char *q=s2
int len1=0,len2=0
while(*p++)
len1++
while(*q++)
len2++
p=s1,q=s2
while(*p!='\0'&&*q!='\0')
{
if(*p>*q)
return 1
if(*p<*q)
return -1
p++
q++
}
if(len1==len2)
return 0//返回0,两个字符串相同
if(len1>len2)
return 1//返回1,前大于后
if(len1<len2)
return -1//返回-1,前小于后
}
int s_trlen(char *s)//计算一个字符串的长度
{
char *p=s
int len=0
while(*p++)
len++
return len//返回字符串长度
}
//愚见,单纯c语言下,只能通过判断字符串的每个字符是否匹配数字字符,然后再转化数字字符为数字,一下为个人意见,欢迎指正:#include <stdio.h>
int add(char str[])
void main()
{
int sum = 0
char str[50]
printf("输入字符串:\n")
gets(str)
sum = add(str)
printf("字符串中数字和为:%d\n", sum)
}
int add(char str[])
{
int i, sum
i = 0
sum = 0
while(str[i] != '\0')
{
if((str[i] >= '0') && (str[i] <= '9'))
{
switch(str[i])
{
case '0':
sum += 0
break
case '1':
sum += 1
break
case '2':
sum += 2
break
case '3':
sum += 3
break
case '4':
sum += 4
break
case '5':
sum += 5
break
case '6':
sum += 6
break
case '7':
sum += 7
break
case '8':
sum += 8
break
case '9':
sum += 9
break
default:
break
}
}
i++
}
return sum
}