VS Code运行make helloweb提示make不存在的CS50编译问题
CS50 C代码编译运行问题解决
问题1:执行make helloweb提示命令不存在
按以下场景对应处理:
- 使用本地自行安装的VS Code:本地环境默认没有预装CS50所需的编译工具链和依赖库,需要先完成环境配置:
- Windows:安装MinGW编译套件,将MinGW下的bin目录添加到系统Path环境变量,再安装CS50官方库,配置完成后重启VS Code即可识别
make命令 - macOS:终端执行
xcode-select --install安装系统命令行开发工具,再通过Homebrew安装CS50库 - Linux:终端执行
sudo apt update && sudo apt install build-essential cs50一键安装编译工具和CS50依赖
- Windows:安装MinGW编译套件,将MinGW下的bin目录添加到系统Path环境变量,再安装CS50官方库,配置完成后重启VS Code即可识别
- 使用CS50官方提供的在线VS Code/ Codespace环境:关闭当前终端,使用快捷键
Ctrl + ``重新唤起终端,环境变量会自动加载,make`命令即可正常使用 - 额外注意:
make后的文件名需要和你本地保存的.c文件名完全一致,若你的代码文件命名为hello.c,对应的编译命令应为make hello,不要出现文件名拼写错误、后缀错误。
问题2:代码逻辑错误修正
你当前编写的代码即使编译通过,也无法正常输出用户输入的姓名,错误出在printf语句:变量answer不能直接写在双引号包裹的字符串内部,写在引号内的内容会被识别为普通文本直接打印,需要使用字符串占位符%s传入变量,修正后的完整代码如下:
#include <cs50.h> #include <stdio.h> int main(void) { string answer = get_string("What's your name? "); printf("Hello, %s\n", answer); }
报错参考截图

内容的提问来源于stack exchange,提问作者Dackeriah
相关产品推荐
相关产品推荐

