十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#includestdio.h
成都创新互联是一家集网站建设,化隆企业网站建设,化隆品牌网站建设,网站定制,化隆网站建设报价,网络营销,网络优化,化隆网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
void del(char in[],char c, char res[]){
int i, j=0;
for(i = 0; in[i]!= '\0'; i++) {
if(in[i] != c) {
res[j++] = in[i];
}
}
res[j] = '\0';
}
int main(void) {
char a[5]="sdfs",c='s', b[5];
del(a,c,b);
puts(b);
return 0;
}
不是打击你,你的代码没有几行是正确的。
#includestdio.h
void del(char s[],char c){
int i,j;
//--i从0一直往上加。永远不等于'\0'
for(i=0,j=0;i!='\0';i++){
//应该跟c比较,不是‘c’
if(s[i]!='c')
//下面逻辑不通。
s[j]=s[i];
j++;
}
}
//main函数签名要不要写全
main()
{char a[5],c;
int i=0;
//输入5个字符,‘\0’放在哪?
//c有没有初始化?
for(i=0;i5;i++){
scanf("%c",a[i]);
}
//--输出字符,del返回的是%c吗?
//传入的参数不是a[5],是个数组。
printf("%c",del(a[5],c));
}
修改后的C语言程序:
#include stdio.h
void triangle(int g)
{
int n=1, m; /* 修改处1 */
for(n;n=g; n++)
{
for(m=1;m=2*n-1;m++) /* 修改处2 */
putchar('*');
putchar('\n');
}
}
void rectangle(int g)
{
int n=1, m; /* 修改处3 */
for(n;n=g;n++)
{
for(m=1;m=3;m++) /* 修改处4 */
putchar('*');
putchar('\n');
}
}
int main()
{
int i,k;
printf("请输入行数(大于3):");
scanf("%d",i);
printf("请选择图形:1---三角形 \t2---矩形\t3---小旗 :");
scanf("%d",k);
if(k==1)
{
triangle(i);
}
if(k==2)
{
rectangle(i);
}
if(k==3)
{
triangle(i);
rectangle(i);
}
return 0;
}
下面是一个可以利用指针将两个字符串连接起来的 C 语言程序。该程序定义了一个子函数 `StrCat`,用于将两个字符串连接起来,并返回连接后的结果。主函数中,我们先从标准输入读入两个字符串,然后根据它们的长度调用 `StrCat` 函数,将它们连接起来并输出结果。
```c
#include stdio.h
#include string.h
#define MAX_LEN 100
char* StrCat(char* s, char* t);
int main() {
char s1[MAX_LEN], s2[MAX_LEN];
// 从标准输入读入两个字符串
printf("请输入第一个字符串:");
fgets(s1, MAX_LEN, stdin);
printf("请输入第二个字符串:");
fgets(s2, MAX_LEN, stdin);
// 将短的字符串放在前面,然后连接两个字符串
if (strlen(s1) strlen(s2)) {
char *t = s1;
s1 = s2;
s2 = t;
}
StrCat(s1, s2);
// 输出结果
printf("连接后的字符串为:%s", s1);
return 0;
}
char* StrCat(char* s, char* t) {
int i, j;
// 找到 s 末尾位置
for (i = 0; s[i] != '\0'; i++);
// 将 t 中的字符复制到 s 的末尾
for (j = 0; t[j] != '\0'; j++) {
s[i + j] = t[j];
}
s[i + j] = '\0';
return s;
}
```
在这个程序中,我们首先定义了子函数 `StrCat`,该函数接受两个指向字符数组的指针 `s` 和 `t`,将 `t` 中的字符连接到 `s` 的末尾,并返回连接后的结果。具体来说,我们首先找到 `s` 的末尾位置,然后使用循环遍历 `t` 中的每个字符,并将它们复制到 `s` 的末尾。
在主函数中,我们先从标准输入读入两个字符串,并使用 `strlen` 函数获取它们的长度。然后,我们判断哪个字符串比较短,将其放在前面,并调用 `StrCat` 函数将两个字符串连接起来。最后,我们使用 `printf` 函数输出连接后的字符串。
需要注意的是,在函数 `StrCat` 中,我们没有对输入数据进行任何检查(例如,字符串的长度是否超过了数组的大小等)。如果需要确保输入数据的有效性,可以在程序中添加相应的检查代码。