#include <stdio.h> main() { char str1[80], str2[80]; int i, n; gets(str1);#从键盘输入一个字符串 scanf_s("%d", &n);#输入提取的前N个字符 for (i = 0; i<n; i++) str2[i] = str1[i]; #一定注意是str2[i]=str1[i];不要写反了,否则逻辑会出现问题 str2[i] = '\0';#字符串的结束标志,如果忘记加,则会输出许多乱码 printf("%s\n", str2); }
时间: 2024-04-24 07:22:18 浏览: 62
程序填空题.pdf
这是一段 C 语言代码,主要实现了从键盘输入一个字符串,然后提取该字符串的前 n 个字符并输出。其中使用了函数 gets() 来获取字符串,使用了 scanf_s() 来输入提取的前 n 个字符,使用了一个 for 循环将前 n 个字符复制到一个新的字符数组 str2 中,并在最后加上字符串的结束标志 '\0'。最后使用 printf() 输出提取后的字符串。不过需要注意的是,gets() 函数存在缺陷,可能会导致缓冲区溢出的问题,应该使用安全的输入函数来代替。另外,该代码中使用了 scanf_s() 函数,需要在头文件中添加 #include <stdlib.h> 和 #define _CRT_SECURE_NO_WARNINGS 两行代码来避免编译器报错。
阅读全文