1.一串字符的输入: 2.我们都知道strcat(str,ptr)是将字符串ptr内容连接到字符串str后,然后得到一个组合后的字符串str,比如
str字符串内容为"123456\0",ptr字符串为"abc\0",那么strcat(str,ptr)后str内容为 “123456abc\0”,输出结果为
123456abc这样看来函数作用是将ptr内容接到了str的终止符\0上,道理很简单,那么如果我将str字符串内容
更改一下,让str[1] = ‘\0’,让字符串的第三位变成终止符,str内容变为"1\03456\0",那么再strcat一次结果为何?
很简单,输出str结果为1abc, ———————————————— 版权声明:本文为CSDN博主「没事多吃饭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/hqu_uzhl/article/details/90171463 3. 阅读程序,写出以下程序的运行结果▁▁abchiklm▁ #include <stdio.h> #include <string.h> int main() { int i; char str1[30]=“abc”,str2[3][5]={“defg”,“hi\0j”,“klm”}; for(i=1;i<3;i++) strcat(str1,str2[i]); puts(str1); return 0; } 学习到:定义二维的数组a[20][20],a[1]表示第一行所有列的数组。
4.
//写程序,功能是将键盘输入的N个字符串中找出最长的那个串并输出。输入:
第一行为一个整数N,代表字符串个数。
第二行开始输入N个字符串。
输出:
最长的字符串。
#include<stdio.h>
#include<string.h>
int main()
{
char a[20][20];
int count[20];
int N,i,j,max=0,count2;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%s",a[i]);
count[i]=strlen(a[i]);//记录字符长度
}
for(i=0;i<N;i++)
{
if(max<count[i])
{
max=count[i];
count2=i;//比较长度,同时记录最长的长度的行数
}
}
printf("%s",a[count2]);
return 0;
}
|