|
发表于 2022-2-25 16:16:52
|
显示全部楼层
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main()
{
char str1[1000] , str2[100] ;
int i,j;
printf("请输入字符串1:");
scanf("%c", &str1[0]);
for (i = 0; str1[i] != '\n'; )
{
if (str1[i] >= 'a' && str1[i] <= 'z') str1[i] -= 32;//若有小写字母,改大写
scanf("%c", &str1[++i]);
}
str1[i - 1] = 0;
printf("%s\n", str1);//检查是否输入了字符串,实际运行显示只输入了三个字符,为什么? 我不止输入了三个字母比如abcdefgh这些,每输入一个字符之间也没有按回车
printf("请输入字符串2:");
scanf("%c", &str2[0]);
for (j = 0; str2[j] != '\n'; )
{
if (str2[j] >= 'a' && str2[j] <= 'z') str2[j] -= 32;//若有小写字母,改大写
scanf("%c", &str2[++j]);
}
str2[j - 1] = 0;
printf("%s\n", str2);//这里更是一点都没有输入
strcat(str1, str2);//合并字符串1和2
printf("%s", str1);//输出最终字符串,只显示了最初输入字符串1的那三个字符
return 0;
}
你原来的程序for循环都进不去输入数据也没有意义啊 |
|