上述代码依然计算错误,最大长度显示为0
时间: 2024-03-10 07:46:24 浏览: 21
非常抱歉,我之前的回答中仍然有错误。经过仔细检查,发现代码中的问题在于 `set /a max_length=-1` 这一行。在 Windows 中,如果使用负数来初始化一个变量,那么在进行数学运算时会被当作无符号数来处理,从而导致计算结果错误。
为了解决这个问题,我们需要在计算最大长度时,将 `max_length` 的值初始化为 0,而不是 -1。下面是修改后的代码:
```
@echo off
setlocal enabledelayedexpansion
set file=%1
set /a max_length=0
for /f "usebackq delims=" %%i in ("%file%") do (
set "line=%%i"
set "length=!line:~0!"
set /a temp_length=0+length
if !temp_length! gtr !max_length! set /a max_length=temp_length
)
if %max_length% equ 0 (
echo The file is empty or contains only blank lines.
) else (
echo The maximum length of a line in %file% is: %max_length%
)
pause
```
在第 3 行,我们将 `max_length` 的值初始化为 0。在第 10 行,我们使用 `equ` 来判断 `max_length` 是否为 0,以处理文件为空或仅包含空行的情况。
希望这次回答能够解决问题,再次感谢您的指出。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)