数组
自己的code:#include <stdio.h>
int main()
{
int i = 0;
char str;
printf("请输入一行文本是:");
while ((str = getchar()) != '\n') //给数组赋值
;
printf("%d\n", i);
if (i > 21)
{
i = 21;
while (str != ' ')
{
str = '\0';
}
}
str = '\0';
printf("你输入的文本是:%s\n", str);
return 0;
}
/*
Hold on your hats.Ladis and gentlemen.
*/
问1:为什么验证Hold on your hats.Ladis and gentlemen.时,输出为Hold on ,不应该是Hold on your吗@Twilight6 @风车呼呼呼 本帖最后由 jhq999 于 2022-11-17 18:37 编辑
例子应该是Hold on your hats. Ladis and gentlemen.
int main()
{
int i = 0;
char str;
printf("请输入一行文本是:");
while (i<21&&(str = getchar()) != '\n')i+=1 //给数组赋值
;
printf("%d\n", i);
if (i >= 20)
{
i = 20;
while (str != ' ');
}
str = '\0';
printf("你输入的文本是:%s\n", str);
return 0;
} #include <stdio.h>
int main()
{
int i = 0;
char str;
printf("请输入一行文本是:");
while ((str = getchar()) != '\n') //给数组赋值
;
/* ------------- 没有用的代码 -------------
printf("%d\n", i);
if (i > 21)
{
i = 21;
while (str != ' ')
{
str = '\0';
}
}
--------------------------------------- */
str = '\0'; // 这里 str 改成 str !!!
printf("你输入的文本是:%s\n", str);
return 0; 傻眼貓咪 发表于 2022-11-18 10:23
把25行的21改成i,不就会无限读取输出吗,我要的是控制输出最多为21个字符 Weabu 发表于 2022-11-18 11:29
把25行的21改成i,不就会无限读取输出吗,我要的是控制输出最多为21个字符
哦哦原来。只要把 while 迴圈多加个条件 i < 21 便可。
页:
[1]