當我編譯并運行它時,大量隨機字母出現在它關閉
#include <stdio.h>
int main(int argc, int* argv[])
{
int x;
for(x = 0; x < argc; x )
{
while(*argv[x])
{
putchar(*argv[x]);
*argv[x] ;
}
putchar('\n');
}
return 0;
}
這個程式應該從命令列獲取輸入并列印它(我希望它以這種格式來測驗 *argv[] 的作業原理和方式)
uj5u.com熱心網友回復:
您可以考慮檢查錯誤。
#include <stdio.h>
int main(int argc, char *argv[])
{
// Exit status if the argument count is incorrect
if (argc != 2)
{
printf("Usage: ./program string\n");
return 1;
}
此外,您可能希望在不使用printf()fucntion撰寫回圈的情況下列印字串。
// Print the whole string in one step
printf("%s\n", argv[1]);
return 0;
}
uj5u.com熱心網友回復:
問題在第三行:
int main(int argc, int* argv[])
應該是char *agrv[],不是int *argv[]。寫入int *argv[]是錯誤的,因為int是四個位元組char,只有一個
改寫這個應該可以解決這個問題:
int main(int argc, char* argv[])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/385068.html
上一篇:從鏈表中的指標存盤字串
