鍍金池/ 問答/ C++問答
互擼娃 回答

因為你的代碼寫的幾乎沒一個地方是對的。

想要找出大于n的質(zhì)數(shù),從n+1循環(huán)遍歷到n+m,以及判斷n+m是否是質(zhì)數(shù)。

首先第一個

i = n + 1; i++;

i = n + 2

有什么區(qū)別,假設(shè)我這里輸入的是12,13就直接給你跳過了。所以,i++應(yīng)該放在while循環(huán)的最后,而且,i = n + 1應(yīng)該while循環(huán)的外面,要不是你的判斷寫的有問題,就直接死循環(huán)了。

以及你這里notPrime是什么意思,在這里完全沒有意義。

之后就是return i,只要任意i%j != 0,你就直接return i了。所以綜合上面的i = n + 2,你這里才會直接輸出9

int nextPrime(int n) {
    int i,j;
    i = n;
    while(true){
        i++;
        for(j=2; j<=i; j++){
            if(i==j){
                return i;
            }
            if(i%j==0){
                break;
            }
        }
    }
}
陌南塵 回答

這個問題是找不到頭文件,所以需要安裝libiconv-devel這個庫

懶豬 回答

了解一下https://wkhtmltopdf.org/

張老師寫過文章:http://www.cnblogs.com/shanyo...

C#版本的話,我用過WkHtmlToXSharp 和[WkHtmlToXDotNet](https://github.com/TimothyKho...
前者用的人比較多,后者一般般.
注意一點,不要在IIS中使用WkHtmlToXSharp方案,有內(nèi)存泄漏風險,在桌面環(huán)境就隨便玩了;
直接調(diào)用wkhtmltopdf.exe的話就無所謂了.

乖乖噠 回答

你的情況一般是安全傳輸二進制數(shù)據(jù)到服務(wù)端,建議base64

傲嬌范 回答
Intent intent1 = new Intent(getApplicationContext(), RemindReceiver.class);
intent.putExtra**("content", remind.getTitle());
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), 0, intent1, 0);

intent1 intent
            
            
寫榮 回答

其實無非就是一個遞歸問題,n*m的矩陣問題,如果橫著走,就轉(zhuǎn)化為n*(m-1)的問題;如果豎著走,就轉(zhuǎn)化為(n-1)*m的問題;如果斜著走,就轉(zhuǎn)化為(n-1)*(m-1)的問題……最終轉(zhuǎn)化為有著確定的勝負結(jié)果的一行或一列的問題。

萌面人 回答

fgetc的返回值是int類型。一個可能的解釋是fgetc失敗了,返回了-1,導致你換算后的二進制全是1。
把ch的聲明改成int

 while( (ch = fgetc(fp)) != 255){

改為

 while( (ch = fgetc(fp)) != -1){

while之后打印一下errno:

printf("%d %s\n", errno, strerror(errno));

看到底是什么原因?qū)е耭getc失敗.

焚音 回答

public class test {
public static List> source;

public static void main(String[] args) {

source = new ArrayList<>();

List<String> a = new ArrayList<String>();
a.add("黑色");
a.add("白色");
List<String> b = new ArrayList<String>();
b.add("64G");
b.add("128G");
List<String> c = new ArrayList<String>();
c.add("中國聯(lián)通");
c.add("中國移動");
source.add(a);
source.add(b);
source.add(c);
ArrayList<String> result = new ArrayList<>();
recursion(result, source.get(0), 0, "");
System.out.println(result);

}

public static void recursion(List<String> result, List<String> para, int num, String choose) {

for (int i = 0; i < para.size(); i++) {
    if (source.size() == num + 1) {
        result.add(choose + "/" + para.get(i));
    } else {
        recursion(result, source.get(num + 1), num + 1, choose + "/" + para.get(i));
    }
}

}
}

伐木累 回答

因為Demo.h中定義的全局變量demo可以不被初始化。

靜態(tài)存儲期的非局部變量的初始化在程序啟動時進行,通常在main函數(shù)執(zhí)行前完成,除非被推遲了。它們的初始化分成兩類,靜態(tài)初始化和動態(tài)初始化。其中動態(tài)初始化可能會被推遲,推遲與否取決于編譯器實現(xiàn)。而被推遲的動態(tài)初始化可能不會被執(zhí)行。這里demo的初始化屬于動態(tài)初始化,所以不同編譯器可以產(chǎn)生不同的結(jié)果。Deferred dynamic initialization

最佳實踐是避免程序依賴全局變量構(gòu)造函數(shù)的副作用。而在真的需要這樣一個可以全局訪問的對象時,請用單例模式。

壞脾滊 回答

子類B如果自己沒有定義析構(gòu)函數(shù)則會繼承父類A的析構(gòu)函數(shù),析構(gòu)函數(shù)會在當PHP決定你的腳本不再與對象相關(guān)時,PHP析構(gòu)函數(shù)將被調(diào)用. 在一個函數(shù)的命名空間內(nèi),這會發(fā)生在函數(shù)return的時候. 對于全局變量,這發(fā)生于腳本結(jié)束的時候. 如果你想明確地銷毀一個對象,你可以給指向該對象的變量分配任何其它值. 通常將變量賦值為NULL或者調(diào)用unset,或者在使用exit的時候,都會執(zhí)行A類的析構(gòu)函數(shù)。

蟲児飛 回答

看著是python的環(huán)境變量沒配置,找不到python導致的

初念 回答

你把反編譯前的 apk 后綴改為 zip 再解壓看看,里面應(yīng)該也有 classes.dex classes2.dex classes3.dex classes4.dex 等文件,這是因為 apk 中方法數(shù)超過了 65536 個,使用了 multidex support library 將一個 apk 中的 dex 文件分割成多個 dex 文件的緣故。相關(guān)知識可以搜索 "android 65k" 來進行了解。

影魅 回答

Properties解決的是配置信息外化,也就是我們常用的配置文件
@Configuration 是Spring的Java Config核心,及通過Java完成Bean的定義
兩個應(yīng)用場景不同。
在Spring Boot中,Starter為我們自動啟用了很多Bean,這些Bean的配置信息通過properties的方式暴露出來以供使用人員調(diào)整參數(shù),但并不是通過調(diào)整properties文件能配置所有的Bean,一下負責的Bean配置還是需要使用@Configuration方式,比如Spring Security的WebSecurityConfigurerAdapter配置

艷骨 回答

難道是把你的命令寫到一個app.sh文件里面,然后chmod a+x app.sh點擊 app.sh?

枕頭人 回答

c

#include<stdlib.h>
#include<string.h>

int main(void){
    long mem = 1000L*1000*1000*64;//64G, 我的機器有16G內(nèi)存
  
    char* f = malloc(mem);

    memset(f,0xff, mem-1); //注釋掉這一行你會成功的

    free(f);

}
gcc melloctest.c
./a.out

運行時你會看到段錯誤 (核心已轉(zhuǎn)儲)(我就不提Segmentfault,呵呵!)

java

public class Test{
    static final int mem = 1000*1000*64;//64M //java 不能用long聲明數(shù)組
    public static void main(String[] args){       
        int a[][] = new int[1000][];
        
        for(int i=0;i<1000; i++)
           a[i] = new int[mem];

        a[999][mem-1]=10086;
        System.out.println(a[999][mem-1]);
    }

}

運行時你會看到

java Test
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
    at Test.main(Test.java:10)
    

## 結(jié)論

c: 聲明沒問題,分配沒問題, 使用了就不行
java: 聲明沒問題,分配都不行,更別說使用了

兮顏 回答

最基本的問題。第一個循環(huán)里面對vector居然不用push_back

逗婦惱 回答

可能是沒有權(quán)限,用管理員運行試試?或者把目錄改到其他地方,比如用戶文件夾或者桌面。

枕邊人 回答

問題已經(jīng)解決。