c语言二维数组处理字符串问题
sacanf(“%s”,word[i])是以回车,空格,tab作为分界符的。
gets是以回车为分隔符的。
C语言输入5个字符串,分别求出各个字符串中字符ASCII码的和。要求用二维数组存放字符串。
#includestdio.h
int main()
{
char *a[5],b[5][100];
int s[5],t,q=0;
int n,m;
for(n=0;n5;n++)
{
//a[n]=b[n];
scanf(“%s”,b[n]);
}
for(m=0;m5;m++)
{
s[m]=0;q=0;
printf(“%s\n”,b[m]);
do
{
t=(int)(b[m][q]);
s[m]=s[m]+t;
q=q+1;
}
while(b[m][q]!=’\0′);
}
printf(“%d %d %d %d %d”,s[0],s[1],s[2],s[3],s[4]);
return 0;
}
C语言二维数组下写入字符串为何第一个字符不显示
#include#include//在orginal_str字符串中,找到dest字符串,//然后将它后面的字符串替换为srcvoidreplace(char*orig_str,constchar*dest,constchar*src){char*right_ptr=null;size_tdest_len=0;size_tsrc_len=0;if(null==(right_ptr=strstr(orig_str,dest))){printf(“cannotfind\”%s\”in\”%s\”\n”,dest,orig_str);return;}dest_len=strlen(dest);right_ptr+=dest_len;src_len=strlen(src);strncpy(right_ptr,src,src_len);}intmain(){charxeb[]=”b221.html?a1=11.1a2=22.2a3=0″;charc[]=”33.3″;chard[]=”44.4″;replace(xeb,”a1=”,c);replace(xeb,”a2=”,d);printf(“afterreplace,xeb:%s\n”,xeb);return0;}