c语言小白求大神帮忙详细解释一下下面的程序!
是判断输入的字符串中共有多少注释的程序。如果出现了/*,那么到*/出现,之间的内容算作输入字符串的一个注释。朋友做出来了给我看但是我看不太懂各行都是什么意思。求哪位大神帮...
是判断输入的字符串中共有多少注释的程序。如果出现了/*,那么到*/出现,之间的内容算作输入字符串的一个注释。朋友做出来了给我看但是我看不太懂各行都是什么意思。求哪位大神帮忙讲解一下。程序如下:
# include<stdio.h>
# include<string.h>
# include<stdlib.h>
static int kazu = 0;
int comment2(char str[],int j){
if(str[j] == '/'){
kazu++;
return j;
}
return 0;
}
int comment(char str[],int j){
int i;
if(str[++j] == '/')return j;
if(str[j] == '*'){
for(j=j+1; j<strlen(str); j++){
if(str[j] == '*'){
i = comment2(str, j+1);
if(i){
return i;
}
}else{
continue;
}
}
}
return j;
}
int main(void){
char str [5000];
char s;
int i = 0;
while(scanf("%c",&s) == 1){
str[i] = s;
i++;
}
str[i] = '\0';
for(i=0;i<strlen(str);i++){
if(str[i]=='/'){
i=comment(str,i)-1;
}
}
printf("%d\n",kazu);
return 0;
} 展开
# include<stdio.h>
# include<string.h>
# include<stdlib.h>
static int kazu = 0;
int comment2(char str[],int j){
if(str[j] == '/'){
kazu++;
return j;
}
return 0;
}
int comment(char str[],int j){
int i;
if(str[++j] == '/')return j;
if(str[j] == '*'){
for(j=j+1; j<strlen(str); j++){
if(str[j] == '*'){
i = comment2(str, j+1);
if(i){
return i;
}
}else{
continue;
}
}
}
return j;
}
int main(void){
char str [5000];
char s;
int i = 0;
while(scanf("%c",&s) == 1){
str[i] = s;
i++;
}
str[i] = '\0';
for(i=0;i<strlen(str);i++){
if(str[i]=='/'){
i=comment(str,i)-1;
}
}
printf("%d\n",kazu);
return 0;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询