网上看的题目,谁能给个思路?如写出程序 帮标注一下?
编程序,输入两个字符串(<40 个字符) , 连接后输出(不准用系统函数)//想了挺久,还是没什么明确思路还要多练{:7_126:} 本帖最后由 咖喱饭咖喱 于 2017-11-8 04:33 编辑
#include <stdio.h>
#define n 40
int main()
{
char s1;
char s2;
int i,j;
printf("shurus1:");
scanf("%s",&s1);
printf("shurus2:");
scanf("%s",&s2);
for(i=0;s1!= '\0';i++);
for(j=0;s2 != '\0';i++,j++)
s1=s2;
s1='\0';
printf("s1=%s\n",s1);
}
答案是这个,谁能解释一下后面两个循环//for(i=0; sl!=‘\0’ ; i++);
for(j=0;s2!=‘\0’ ;i++,j++)的意义以及后面s1=s2 ; s1=‘\0’的意义?? 本帖最后由 3-3 于 2017-11-8 07:50 编辑
确定这是答案吗?如果这是答案,那有点不严谨啊。 #include <stdio.h>
#define N 40
void main()
{
char s1;
char s2;
int i,j;
printf("shurus1:");
scanf("%s",&s1);
printf("shurus2:");
scanf("%s",&s2);
for ( i = 0; i < N && s1 != '\0' ; i++)
;
for ( j = 0; j < N && s2 != '\0'; j++)
s1 = s2;
s1 = '\0';
printf("s1=%s\n",s1);
} 咖喱饭咖喱 发表于 2017-11-8 04:32
#include
#define n 40
int main()
我敢保证这代码是你自己写出来的,而且肯定是错误的。
1,要连接char s1; char s2; 必须还有要有个大于n+n 的数组来存放。
2,for 是用来循环迭代数组里面的字符的,迭代出来后统一存放在第3个数组里,然后输出
ba21 发表于 2017-11-8 14:14
我敢保证这代码是你自己写出来的,而且肯定是错误的。
1,要连接char s1; char s2; 必须还有要 ...
看了后我还有一个问题,第一个循环中已经将 s1 赋值给了 s3,而i,j都是从0开始加的,
后一个循环又将 s2 赋值给 s3,i j也是从0开始加的,为何实现连接效果,而不是后面s2给s3的赋值覆盖掉前面循环si给s3的赋值?
3-3 发表于 2017-11-8 07:47
确定这是答案吗?如果这是答案,那有点不严谨啊。
抱歉 复制错了。。 咖喱饭咖喱 发表于 2017-11-9 05:33
看了后我还有一个问题,第一个循环中已经将 s1 赋值给了 s3,而i,j都是从0开始加的,
后一个循环又将...
明白了,是j的取值,前一个循环结束后下一个循环没有重制j的值,而是接下去自增
页:
[1]