gets

    0熱度

    3回答

    某處在github上,我看到了下面這段代碼 char *p=malloc(1); gets(p); printf(p); 我試過相同,發現它的工作原理。 無論我輸入多長時間的字符串,它都會被存儲並且不會給出分段錯誤。怎麼運行的?我只給了它1個字節。 加上當我輸入free(p);它給出奇怪的輸出。

    2熱度

    2回答

    我曾經使用get,但後來我聽說它已從c11中刪除,並且它的整體非常危險。 所以我做了一些搜索,發現你可以使用fgets()來做同樣的事情。 問題是,當我使用fgets()時,它似乎也複製了行的末尾,最終導致了額外的不需要的行。 要告訴你我是什麼意思: //if I have char key[30]; fgets(key, sizeof(key), stdin); //now if end

    -1熱度

    2回答

    編寫,提示用戶鍵入一個句子的基本程序的任何對象。 如果從用戶的句子的單詞與預定詞庫一個詞相匹配,程序退出該函數,並移動到下一個。 但是,如果用戶的句子包含了包含在字裏行沒有的話......她的提示,再試一次,直到她最終包括在她的句子中規定的文字之一。 在下面的代碼,用戶鍵入一個句子,出現以下錯誤消息時: test2.rb:14:in `<main>': undefined local variab

    0熱度

    1回答

    #include <math.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <assert.h> #include <limits.h> #include <stdbool.h> int main() { int n,i; char a[10][100];

    0熱度

    1回答

    所以我已經經歷了一個問題,我必須爲學校製作一個出租車程序,所以,我有一個案例,我需要給用戶一個選項來改變車輛的可用性,但爲此用戶需要給牌照才能繼續。正如我兩路車添加到結構,案例3,程序只接受車牌1是正確的...... void alterarDisponiblidadeTaxi (TAXIS taxis[], int qtd_taxis){ int i=0; char matr[10]; i

    -3熱度

    1回答

    考慮到這一代碼片段: #include <stdio.h> int main() { char *s; gets(s); printf("%s",s); return 0; } 我得到一個運行時錯誤在這種情況下,在stdin輸入一些輸入後。但是,如果s被聲明爲數組,s[size],則沒有問題。但考慮到gets原型,char *gets(char

    4熱度

    1回答

    我新的緩衝區溢出攻擊,我開始用一個簡單的C程序利用緩衝區溢出。 代碼 #include <stdio.h> #include <strings.h> void execs(void){ printf("yay!!"); } void return_input (void) { char array[30]; gets(array); } int

    0熱度

    1回答

    #include<iostream> #include<stdio> using namespace std; int main() { int n; char s[15]; cin>>n; cin>>s; cout<<n*2<<"\n"; cout<<s; return 0; } 我試着用獲取並與fgets的功能,但他

    -3熱度

    1回答

    #include<iostream> using namespace std; class student { private: int admno; char sname[20]; float eng,math,science; float total; float ctotal()

    6熱度

    1回答

    我正要用C語言編寫一個shell。這是下面的代碼: #include <unistd.h> #include <stdio.h> #include <string.h> #include <sys/wait.h> #include <stdlib.h> int getcmd(char *buf, int nbuf) { memset(buf, 0, nbuf);