c - 如何在c编程中制作返回字符函数?
问题描述
我正在尝试做一些简单的 c 编程来返回 char 值。程序运行没有错误,但是没有出现预期字符串的输出。我期望它会Halloworld
在我运行它时返回。
#include <stdio.h>
#include <string.h>
char screen(char c[]);
int main(){
char b[] = "Hallo";
//screen(b);
printf("%s",screen(b));
}
char screen(char c[]){
strcat(c, "world");
return c;
}
解决方案
的声明strcat()
返回一个指向 char ( char *
) 的指针。所以你的功能screen()
也必须。
另一件事是,你不能这样做char b[] = "Hallo";
,因为这样字符数组b
就只有大到可以处理了Hallo
。您需要它大于Hallo
,其余部分将填充0x00
, 或NUL
。像这样:
48 61 6C 6C 6F 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
然后在你结束strcat()
字符之后world
:
48 61 6C 6C 6F 20 77 6F 72 6C 64 00 00 00 00 00 00 00 00 00
当传递给 时,第一个剩余的0x00
将充当空终止符printf()
。
#include <stdio.h>
#include <string.h>
char* screen(char c[])
{
strcat(c, "world");
return c;
}
int main()
{
char b[20] = "Hallo ";
screen(b);
printf("%s",b);
return 0;
}
推荐阅读
- python-3.x - 求解器如何根据距离矩阵确定源点和终点
- javascript - 如何从用户那里获取上传的图像文件并将其绘制在画布上?
- swiftui - 从列表中删除项目时索引不更新
- flutter - 我正在尝试缓存我的 http 调用请求,但是我的自定义缓存管理器我的基类不采用或支持默认设置值
- django - 如何将数据从 javascript-datatable 发送到 Django 并在重定向到其他 url 后,人们说 ajax 但我不知道如何很好地使用它
- java - Maven 无法识别完整的文件路径
- python - 十六进制到 pem 文件
- iframe - 拒绝加载.. 资源必须列在 web_accessible_resources 清单键中,才能被扩展之外的页面加载。已列出
- python - 如何压缩并融化python中的任意数量的列
- angular - 如何将缩放和平移选项添加到 anyChart SeatMap?