str+i+0
答:从第六个开始删除4个 asdcdggggfddddg asdcdfddddg Press any key to continue include "stdio.h"include "string.h"fun(char str[],int i,int n){ int l,t,nlen;nlen = strlen(str);for (l=0;l<nlen+1;l++){ if (l+1==i){ for (t=l;t<nlen+1;t++){ str[t]= ...
答:ASCII中的字符可以由一个数字来表示,比如说数字48在ASCII中为'0',数字57在ASCII中为'9',那么上面那个式子也可以写成:while((str[i]>57 | | str[i]<48)&&str[i]!=0)i++ 解释:(str[i]>='0'&&str[i]<='9')的结果就像下图表示的,交集为真 那么取反就是 str[i]>'9'| | ...
答:include "stdio.h"include "conio.h"int main(){ char string[20];char str[3][20];int i;for(i=0;i<3;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);else strcpy (string,str[1]);if(strcmp( str[2],string)>0)strcpy(string,str[2]);print...
答:你的程序的问题:1.文件如果不是要读同时又要写的情况,用'r'属性打开就可以了;你的程序最后没有关闭文件。2.while((fgets(&str[i],100,fp) != NULL))应该写成while((fgets(str,100,fp) != NULL))原因:fgets是读取文件中的一整行数据放到第一个参数位置,你第一行装入str+0位置,第二...
答:getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕。1、str[i]=getchar()的意思是等待用户输入,将用户输入的值赋值给str[i](因为这句在循环语句中,所以是给str[]数组赋值)。2、printf("%s\n",str+m-1)的意思是从字符数组的第m个元素开始...
答:1、可以写一个函数接受一个字符串和一个字符,如果此字符出现在字符串中,就将串中的字符删除,要求删除该字符后,后续的字符向前移,以填充该空位。2、例程:include<stdio.h>#include<string.h>#define MAX 80void Delete(char str[],char c){int i;int l=strlen(str);for(i=0;i<l;i++...
答:下面这个程序就可以了吧~~include "stdio.h"include "string.h"void main(){ char str[500];int i;printf("请输入字符串:\n");gets(str);for(i=0;i<strlen(str);i++){ if(str[i]==' '||(str[i]>='0'&&str[i]<='9'))continue;else printf("%c",str[i]);} printf("\...
答:str[i]=str[i-1];} //将temp的值赋值到数组的第一个位置,也就是0位 str[0]=temp;} main(){ char s[50];scanf("%s",s);fun(s);printf("%s\n",s);return 0;} 函数调用fun(s), 是传递char* 过去, 传递的是数组的指针. 指向数组的首地址, 具体值和&s[0]是一样的. 2者...
答:char str[3][20]; 定义了一个字符类型的二维数组 ,通过数组名str[0]可以调用的是第一个字符串 后面的20为字符串的长度。这种定义方法跟数组的指针有关系 C Prime Plus 有关于这个的讲解 类似于这样的程序 在第十章字符串和字符串函数有,这本书讲的特别透彻,希望能帮到您 ...
答:=NULL) printf("digital数组中的数字字符为:%s\n",digital); return 0;}char *getNum(char *str){ int len=strlen(str),n=0,i; char *digital=NULL,strSave[50]; for(i=0;i<len;i++) if(str[i]>='0' && str[i]<='9') { strSave[n]=str[i]; ...
网友评论:
浦庙13535011476:
while((c=*(str+i)) != 0) c是字符 (str+i)有什么含义 -
15229逄黎
: \0是字符串的结尾标志,存储在字符串的结尾.比如charcha[5]表示可以放5个字符的字符串,由于c/c++中规定字符串的结尾标志为'\0',它虽然不计入串长,但要占内存空间,而一个汉字一般用两个字节表示,且c/c++中如一个数组cha[5],有5个变量,分别是cha[0],cha[1],cha[2],cha[3],cha[4],所以cha[5]可以放5个字母或者放2个汉字(1个汉字占2个字节,1个字母占一个字节),cha[5]占5个字节内存空间.比方12345011>>12345for(i=0;str[i]!='\0';i++)其中str[i]!='/0'判断字符串是否是0如果是那么for结束
浦庙13535011476:
while( str[i++] ) 是什么意思? -
15229逄黎
: 一次扫描str的每个字符(从第i个开始),一直到该字符的ASCII码为0结束. 在字符串中,结束符为'\0',其ASCII码为0.这句的结果就是从第i个字符扫描str字符串直到结束另:while,if等语句后面跟的条件判断的方式均为“条件是否为0”.如if(2<3),实际上2<3返回一个非0值,所以该语句进入if分支.而字符本身有值,即ASCII码,所以判断语句可以直接这样写,这样写和while( str[i++] == '\0' )的效果是一样的
浦庙13535011476:
C语言的输出结果 -
15229逄黎
: 大家说得都有道理,我来给楼主分析一下吧 首先,由于 i++ 是先使用 i 的值,之后再把 i 的值加 1,所以 while(i<6)printf("%s\n",str+i++); 其实是等价于 while(i<6) { printf("%s\n",str+i); i++ } 再次,str+i 在 printf("%s\n",str+i)是当作指针来使...
浦庙13535011476:
for(i=0;str[i];i++)什么意思?str[i]满足什么条件运行 -
15229逄黎
: 查找 子串在str中出现的次数! 如果这个函数 是查找子串出现的次数的话 貌似就有点问题啊 int fun(char * str,char * substr) { int i,j,k, num=0; for(i=0;str[i];i++) for(j=i,k=0;substr[k]==str[j];k++,j++) if(substr[k]=='\0') {num++; break; } return num; }这样的才对吧?
浦庙13535011476:
请编写函数char* fun(char* str),该函数的功能是将str中的所有字母变成下一个字母,谢谢大家的帮助 -
15229逄黎
: char* fun(char* str) {int i=0; char c; while(*(str+i)!='\0') { c=*(str+i); if(c>='a'&&c { if (c=='z') { *(str+i)='a'; } else { *(str+i)=c+1-32; } } if(c>='a'&&c { if (c=='z') { *(str+i)='a'; } else { *(str+i)=c+1+32; } } i++; } return str; }
浦庙13535011476:
输入五个字符串,用指针按字母顺序由小到大对字符串排序后输出 -
15229逄黎
: #include#include#define M 5#define N 20void main(){ char str[M][N],temp[N]; int i,j; for(i=0;i0) { strcpy(temp,*(str+i)); strcpy(*(str+i),*(str+i+1)); strcpy(*(str+i+1),temp); } } printf("排序后:\n"); for(i=0;i
浦庙13535011476:
int mystrlen(char *str){int i;for(i=0;*(str+i)!='\0';i++) return(i);} 函数的功能 -
15229逄黎
: 统计你输入的字符串的长度 比如:char *a="abcdefg"; int b; b=mystrlen(a); b的值就是7 (abcdefg总共7个字符)
浦庙13535011476:
c语言程序设计删除字符串空格 -
15229逄黎
: 你好!if(str[i]=' '){ 这一句改成if(str[i] != ' '){ 里面是不等于,试试吧没有编译环境没法实际调试
浦庙13535011476:
str1[i]!=0 -
15229逄黎
: 楼上的不对 一般情况下 str1[i]!=0是指 数组str1的第i+1个元素不等于0 如果 不等于0 返回为真即1 如果等于0 返回假 即0
浦庙13535011476:
while(str[i++]){……}与while(str[i]){……i++;}有什么不一样吗.其中str定义为char *str -
15229逄黎
: 一般来说,没有什么不一样,这里的关键是 while(str[i]){……i++;}这个......的过程中,是否使用到了i.例如:while(str[i++]){ int a = i; printf("%d",a); //这里输出的是 i+1}而while(str[i]){ int a = i; printf("%d",a); //这里输出的是 ii++;}这样是不同的,其他情况两者大体是一样的.