我已經開始關注C語言的命令處理,但是我遇到了這個C程序的問題。它在打算之前正在執行ls
命令。C程序執行命令之前被告知
gcc的信息:
gcc version 6.2.1 20161124 (Debian 6.2.1-5)
這是代碼:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
printf("Is command processor available?\n");
if (system(NULL))
{
printf("Command processor available!\n");
}
else
{
printf("Command processor not available!\n");
exit(1);
}
printf("Executing command ls");
i=system("ls");
printf("Returned value is: %d.\n",i);
return 0;
}
的一段代碼,我講的就是這個具體線路:
printf("Executing command: ls");
如果程序用這段代碼運行輸出:
Is command processor available?
Command processor is available
systemProcessing systemProcessing.c
Executing command: lsReturned value is: 0.
其實之前被告知
它執行的命令但是,當我用一個新行完成代碼關「\ n」,其輸出爲預期:
Is command processor available?
Command processor is available
Executing command: ls
systemProcessing systemProcessing.c
Returned value is: 0.
爲什麼在將新行添加到字符串中時,代碼將在執行之前打印出它將要執行的操作,但如果沒有它,它將執行並打印將要執行的內容?
你給出的答案是信息豐富的,並將其實現爲代碼,就像一個魅力! 我希望能像你一樣有知識:) 謝謝! – Bl4ckH4z3