c语言题,求每步的解释
#include<stdio.h>#include<stringh>main(){intij=0,t;charc1[100],c2[100];gets(c1);scanf...
#include<stdio.h>
#include<stringh>
main()
{
int i j=0,t;
char c1[100],c2[100];
gets(c1);
scanf("%d",&t);
for(i=0;i<strlen(c1);i++)
if(i!=t)c2[j++]=c1[i];
c2[j]="\0;
puts(c2);
} 展开
#include<stringh>
main()
{
int i j=0,t;
char c1[100],c2[100];
gets(c1);
scanf("%d",&t);
for(i=0;i<strlen(c1);i++)
if(i!=t)c2[j++]=c1[i];
c2[j]="\0;
puts(c2);
} 展开
3个回答
展开全部
#include<stdio.h>这个呢,是说明之后代码中出现的函数都包含在stdio.h的文件中,这个文件中一般包含的就是输入输出printf scanf等函数,所以在main函数中就不用重复定义了
#include<stringh> 这个纠正一下应该是string.h 你看到这个可以条件反射之后的代码中很有可能是关于字符串的,一般取字符串的时候前面都必须加一个string.h 否则编译是不成功的
main() main函数这个应该就不用说了吧~^_^
{
int i j=0,t; 首先定义三个整型变量 j赋值为0 i t现在还是没有赋值的情况,计算机中默认为任意值
char c1[100],c2[100]; 定义两个字符数组,大小均为100个单位,看吧,跟字符串有关系了
gets(c1); 输入字符串 并把输入的内容存在c1中
scanf("%d",&t); 输入t,t是整型变量,所以用%d
for(i=0;i<strlen(c1);i++) 一个for循环 从i为0开始,第二个strlen(c1)为c1数组的长度,这个包含在之前定义的头文件string.h中
if(i!=t)c2[j++]=c1[i];这句话是重点,分析一下,j++是先使用再加一,这句话相当于if(i!=t){c2[j]=c1[i];j++;}意思就是如果i不等于t那么把c1的值赋值给c2,然后j向后移动一位
c2[j]=‘\0’; 这个就是在最后加上结束符号
puts(c2); 输出c2字符串
}
#include<stringh> 这个纠正一下应该是string.h 你看到这个可以条件反射之后的代码中很有可能是关于字符串的,一般取字符串的时候前面都必须加一个string.h 否则编译是不成功的
main() main函数这个应该就不用说了吧~^_^
{
int i j=0,t; 首先定义三个整型变量 j赋值为0 i t现在还是没有赋值的情况,计算机中默认为任意值
char c1[100],c2[100]; 定义两个字符数组,大小均为100个单位,看吧,跟字符串有关系了
gets(c1); 输入字符串 并把输入的内容存在c1中
scanf("%d",&t); 输入t,t是整型变量,所以用%d
for(i=0;i<strlen(c1);i++) 一个for循环 从i为0开始,第二个strlen(c1)为c1数组的长度,这个包含在之前定义的头文件string.h中
if(i!=t)c2[j++]=c1[i];这句话是重点,分析一下,j++是先使用再加一,这句话相当于if(i!=t){c2[j]=c1[i];j++;}意思就是如果i不等于t那么把c1的值赋值给c2,然后j向后移动一位
c2[j]=‘\0’; 这个就是在最后加上结束符号
puts(c2); 输出c2字符串
}
展开全部
两个头文件不用说了,第二个应该是string.h
main() 主函数
int i j=0,t; 定义三个整型变量
char c1[100],c2[100]; 定义两个字符数组,用来储存字符串
gets(c1); 输入字符串c1
scanf("%d",&t); 输入t
for(i=0;i<strlen(c1);i++) strlen(c1)表示字符串c1的长度,这个函数在头文件string.h里
if(i!=t)c2[j++]=c1[i]; 把提出第t个字符的c1字符串存到c2里面
c2[j]="\0; 这里应该是c2[j]=‘\0’,在最后加上结束符号
puts(c2); 输出字符串c2
最后你还得加上return 0;因为你的主函数默认的是int型的。
这个程序的功能就是,输入一串字符,然后剔除第t个字符后,再输出出来,下面是修改后的程序
#include<stdio.h>
#include<string.h>
main()
{
int i j=0,t;
char c1[100],c2[100];
gets(c1);
scanf("%d",&t);
for(i=0;i<strlen(c1);i++)
if(i!=t)c2[j++]=c1[i];
c2[j]='\0';
puts(c2);
return 0;
}
main() 主函数
int i j=0,t; 定义三个整型变量
char c1[100],c2[100]; 定义两个字符数组,用来储存字符串
gets(c1); 输入字符串c1
scanf("%d",&t); 输入t
for(i=0;i<strlen(c1);i++) strlen(c1)表示字符串c1的长度,这个函数在头文件string.h里
if(i!=t)c2[j++]=c1[i]; 把提出第t个字符的c1字符串存到c2里面
c2[j]="\0; 这里应该是c2[j]=‘\0’,在最后加上结束符号
puts(c2); 输出字符串c2
最后你还得加上return 0;因为你的主函数默认的是int型的。
这个程序的功能就是,输入一串字符,然后剔除第t个字符后,再输出出来,下面是修改后的程序
#include<stdio.h>
#include<string.h>
main()
{
int i j=0,t;
char c1[100],c2[100];
gets(c1);
scanf("%d",&t);
for(i=0;i<strlen(c1);i++)
if(i!=t)c2[j++]=c1[i];
c2[j]='\0';
puts(c2);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询