网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月28日漏签0天
c语言吧 关注:803,460贴子:4,379,650
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c语言吧
>0< 加载中...

回复:C语言初学者常见问题及解决方案汇总

  • 取消只看楼主
  • 收藏

  • 回复
  • Riachard_Zhang
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
问题描述:显示中文时乱码,如图

===========================================
问题分析:
不用说,肯定是编码问题
===========================================
实际上,这是一个祖传的问题。要牵扯到汉字编码的发展史和Unicode等内容。
简单来说,MinGW默认使用GB2312/GBK(Windows记事本等地方会显示为ANSI),但是有些IDE会默认保存成UTF-8或UTF-16等格式。
===========================================
解决方案:
很简单,保存的时候选择GB2312/GBK/ANSI就可以了,如图红框所示


  • Riachard_Zhang
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
接下来一个错误又是和ld(链接器)有关的。

===========================================
报错分析:
还是一样,先看红字(关键性错误):

[Error] ld returned 1 exit status. 翻译过来就是:ld退出是返回值1,也就是意味着链接器链接失败了。
那么让我们来看看上一行的详细信息:
cannot open output file C:\……\File.exe: Permission denied. 翻译过来就是:不能打开目标输出文件C:\……\File.exe:权限不足。
通常来说,这个目标输出文件是代码编译产生的,正常来说不会出现权限不够的情况,更有可能是由于文件被占用而导致的无法写入。
===========================================
解决方案:
关掉上一次运行的窗口,再次编译。如果不能解决,就请使用Windows任务管理器关闭对应进程,或者可以使用PowerToys套件中的File Locksmith工具。


2026-09-28 00:55:17
广告
不感兴趣
开通SVIP免广告
  • Riachard_Zhang
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好了,今天就想出来这三个,先休息了。如果有吧友看到一些比较经典的问题,可以在这层补充。
注意,这层不是提问用的,是汇总问题用的。
如果遇到了问题需要求助,请先对照上面的三个典型问题,以上三个典例没解决你的问题,那么请发求助帖
再次强调:
①很多问题直接复制下面的报错到百度搜索就能有结果,比吧友回贴快多了。还有一些问题,把英文报错看懂,就明白了,要学会看编译器报的错误,GCC/MinGW的报错已经算是很好了
②好好写你们求助帖的标题,不要随随便便写一些什么“乐乐乐乐乐”、“11111”、“最少五个字”这样仅仅为了满足发贴对标题的要求而随便弄个什么东西把标题的位置占了算数,更不要情绪化地取标题,如“哪位大佬帮我翻译一下这sb人机说什么吗”。好的标题应该指出大概错误,至少要有求助的态度。例如“小白自学c语言应该用什么编译器”、“C语言玫瑰花代码”这样明确指出需要帮助的方面,或者像“求助大佬 帮我诊断一下我的代码”、“小白求助 编译不通过”这种,虽然没能明确指出问题,但是态度良好,让吧友有回复的欲望。
③尽可能使用截图工具,如果确实要用手机拍,请把照片方向调正。无论如何,图片应当包含一下部分:题目、代码、编译结果(如果有)、运行窗口(如果有),平台测评结果(如果有)。我们不会也不愿意算卦来猜你的题目,还有很多错误是与输入输出格式相关的,只有看到题目规定的格式,我们才能指出问题。
④测评平台,如洛谷等,请给出明确的平台名和题号


  • Riachard_Zhang
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
又想起来一个,添加一下:
就是中文分号或者其他本应该用英文标点的地方使用了中文符号。

===========================================
这种问题有一个显著特征,就是[Error] stray '\243' in program,其中'\243'可能是别的数字,但是总体来讲就是英文标点打成了中文标点
解决方法也很简单:把中文标点全部改成英文标点


  • Riachard_Zhang
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
今天来讲一下scanf和printf的格式控制字符串
scanf与printf的生命如下,均位于stdio.h中
int scanf( const char *format, ... );
int printf( const char *format, ... );
我们所说的格式控制字符串,就是上面的const char *format
我们先讨论scanf
我们总是说写scanf的"%d%d"时,中间不要加逗号之类的,这是因为格式控制字符串要求完全匹配,下面举几个例子来说明:
①scanf("%d%d",&a,&b);或scanf("%d %d",&a,&b);(还有其他等价形式但是很少见)
输出:无
输入:1 2
结果:a为1,b为2
这里1和2之间的间隔可以是任意数量的空格、tab制表符、回车
②scanf("输入两个数:%d%d",&a,&b);
情况1:输出:无 输入:输入两个数:1 2
结果:a为1,b为2
情况2:输出:无 输入:输入数:1 2
结果:a、b读入失败
③printf("输入两个数:"); scanf("%d%d",&a,&b);
输出:输入两个数:
输入:1 2
结果:a为1,b为2
根据上述三个例子可以看出,scanf中的格式控制字符串中的全部内容,都需要一摸一样地输入,不同于python的input("输入提示")函数,会将""中的内容输出到屏幕
但是,这并不意味着格式控制字符串毫无用处,例如如果要读入某些确定格式的内容将会很方便。
例:读入一个百分比对:
scanf("%d%%%d%%",&a,&b);
输入:56% 82%
结果:a为56,b为82(如图所示)


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示